所以我在 Docker 容器中使用了 NVIDIA 的 Jetson 工具链。
工具链似乎有这样的文件夹结构:
gcc-4.8.5-aarch64
install
aarch-unknown-linux-gnu
bin
include
lib
lib64
sysroot
etc
lib
sbin
usr
var
bin
include
lib
libexec
share
嵌套目录包含三个 lib 目录。我可以编译我的库,例如Boost
,PCL
很好,但链接PCL
到我的应用程序会给出:
/install/bin/../lib/gcc/aarch64-unknown-linux-gnu/4.8.5/../../../..
/aarch64-unknown-linux-gnu/bin/ld: warning: libgomp.so.1, needed by
/install/aarch64-unknown-linux-gnu/sysroot/lib/libpcl_common.so, not
found (try using -rpath or -rpath-link)
/install/aarch64-unknown-linux-gnu/sysroot/lib/libpcl_common.so: undefined reference to `GOMP_loop_dynamic_next@GOMP_1.0'
图书馆在那里:
./gcc-4.8.5-aarch64/install/aarch64-unknown-linux-gnu/lib64/libgomp.so.1
我刚刚提取了工具链 tarball 并将 CMake SYSROOT 设置为随附的sysroot
. 我仍然想知道它是否应该是这样使用的。例如,我应该将libgomp.so.1
其他库从当前位置移动到sysroot
目录吗?
使链接器在libgomp.so.1
此处找到的正确方法是什么?