2014-01-14 53 views
0

我正在爲ARM構建rabbitmq-c。我通過運行導出庫:建立rabbitmq時更改庫路徑

export LD_LIBRARY_PATH=path_to_library_folder 

但我仍然收到此錯誤。不知何故,cmake沒有找到它。

$ cmake --build . --target install 
Linking C shared library librabbitmq.so 
/usr/lib/x86_64-linux-gnu/libssl.so: file not recognized: File format not recognized 
collect2: ld returned 1 exit status 
make[2]: *** [librabbitmq/librabbitmq.so.1.1.1] Error 1 
make[1]: *** [librabbitmq/CMakeFiles/rabbitmq.dir/all] Error 2 
make: *** [all] Error 2 

回答

0

LD_LIBRARY_PATH用於運行時:它告訴操作系統在哪裏查找可執行文件所需的庫。

要設置你需要一個指令的CMake構建時的搜索路徑:

SET(LINK_DIRECTORIES path_to_library_folder) 

但是,它看起來像這裏還有另外一個問題。正在查找的庫是用於主機架構,而不是您的目標架構,並且位於標準位置。這導致我懷疑你的交叉編譯配置設置不正確。

+0

我也試過,但它不起作用。我認爲這是調用正確的編譯器,否則它會識別x86版本的libssl是不是? – Bob

+0

絕對是調用正確的編譯器。但是交叉編譯比編譯器還要多 – Peter