在构建rabbitmq时更改库路径

时间:2014-01-14 19:41:49

标签: c++ cmake shared-libraries cross-compiling

我正在为ARM构建rabbitmq-c。我通过运行:

导出了库
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

1 个答案:

答案 0 :(得分:0)

LD_LIBRARY_PATH用于运行时:它告诉操作系统在哪里查找可执行文件所需的库。

要设置构建时搜索路径,您需要一个CMake指令:

SET(LINK_DIRECTORIES path_to_library_folder)

然而,看起来这里还有另一个问题。找到的库代替的是主机架构,而不是目标架构,它位于标准位置。这导致我怀疑您的交叉编译配置设置不正确。