Jetson 工具链文件夹结构和交叉编译时的 libgomp 链接器错误
Jetson toolchain folder structure and libgomp linker error when cross-compiling
所以我在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
我刚刚提取了工具链压缩包并将CMake SYSROOT设置为随附的sysroot
。我仍然想知道这是否是它应该使用的方式。例如,我是否应该将libgomp.so.1
库和其他库从其当前位置移动到sysroot
目录?
让链接器在这里找到libgomp.so.1
的正确方法是什么?
我最终通过将/install/aarch64-unknown-linux-gnu/lib64
移到/install/aarch64-unknown-linux-gnu/sysroot/
下来解决这个问题。不确定这是否 100% 正确,但现在一切都编译和链接精美。
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- CMake-按正确顺序将项目与C运行时对象文件链接
- 从链接列表c++中删除一个项目
- 有根的二进制搜索树.保留与其父级的链接
- 读取文件的最后一行并输入到链接列表时出错
- 静态数据成员的问题-修复链接错误会导致编译器错误
- node-gyp 在 macOS 上未正确链接库
- 基于boost的程序的静态链接——zlib问题
- 无法链接 CMake 中的本地库
- 内联函数中具有内部链接的全局变量
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- 使用gcc从静态链接的文件中查找可选符号
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 下面是我为检测链接列表中的循环而制作的代码
- 有了gcc,是否可以链接库,但前提是它存在
- 使用C链接在函数内部创建C++模板
- Visual Studio mkl_link_tool.exe链接错误
- Jetson 工具链文件夹结构和交叉编译时的 libgomp 链接器错误
- 如何在动态链接其他库时静态链接 libgomp