所以我在码头集装箱中使用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 dir?
怎样才能让链接器在这里找到libgomp.so.1呢?
发布于 2018-05-04 09:25:09
我最终通过将/install/aarch64-unknown-linux-gnu/lib64移动到/install/aarch64-unknown-linux-gnu/sysroot/下解决了这个问题。不确定这是否是100%正确的,但现在所有的编译和链接都很漂亮。
https://stackoverflow.com/questions/50156483
复制相似问题