Полный путь к библиотеке печати найден с помощью target_link_libraries - PullRequest
0 голосов
/ 04 августа 2020

В CMake у меня есть:

target_link_libraries(${TESTNAME} ${CMAKE_DL_LIBS})

Я думаю, libdl.so найден, потому что компоновщик не жалуется, что: «не удается найти -lld». Тем не менее, я получаю сообщение об ошибке:

[ 50%] Linking CXX executable test1
/opt/poky/2.7.3/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libport.so: undefined reference to `dlopen'
/opt/poky/2.7.3/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libport.so: undefined reference to `dlclose'
/opt/poky/2.7.3/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/8.3.0/real-ld: /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libport.so: undefined reference to `dlerror'

Поскольку я выполняю кросс-компиляцию, я думаю, что он мог связать неправильный файл или libdl.so может быть поврежден. Как я могу узнать, какой файл был связан target_link_libraries? Мне нужен полный путь к файлу.

EDIT: Вывод make VERBOSE=1:

/opt/poky/2.7.3/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ -march=armv8-a+crc --sysroot=/opt/poky/2.7.3/sysroots/aarch64-poky-linux --sysroot=/opt/poky/2.7.3/sysroots/aarch64-poky-linux -O2 -pipe -g -feliminate-unused-debug-types -O3 -DNDEBUG -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/test1.dir/test1.cpp.o CMakeFiles/test1.dir/__/animateEyes.cpp.o CMakeFiles/test1.dir/__/lcd_graphics.cpp.o CMakeFiles/test1.dir/__/trajGen.cpp.o CMakeFiles/test1.dir/lcd.cpp.o -o test1 -Wl,-rpath,/usr/lib/collar/engine -ldl /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/collar/engine/libuobject.so ../../../lib/libgtest.a ../../../lib/libgmock.a ../../../lib/libgtest_main.a /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libsched.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libserialize.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libport.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_regex-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_signals-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_filesystem-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_thread-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_date_time-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_chrono-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_system-mt.so /opt/poky/2.7.3/sysroots/aarch64-poky-linux/usr/lib/libboost_atomic-mt.so ../../../lib/libgtest.a -lpthread

...