Структура папки набора инструментов Jetson и ошибка компоновщика libgomp при кросс-компиляции

Поэтому я использую набор инструментов NVIDIA Jetson в контейнере Docker.

Кажется, что цепочка инструментов имеет структуру папок:

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 Вот?

0

Решение

Я в конце концов решил это, переместив /install/aarch64-unknown-linux-gnu/lib64 под /install/aarch64-unknown-linux-gnu/sysroot/, Не уверен, что это на 100% правильно, но теперь все прекрасно компилируется и связывается.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]