我正在为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
答案 0 :(得分:0)
LD_LIBRARY_PATH用于运行时:它告诉操作系统在哪里查找可执行文件所需的库。
要设置构建时搜索路径,您需要一个CMake指令:
SET(LINK_DIRECTORIES path_to_library_folder)
然而,看起来这里还有另一个问题。找到的库代替的是主机架构,而不是目标架构,它位于标准位置。这导致我怀疑您的交叉编译配置设置不正确。