CMake флаги линкера - PullRequest
       9

CMake флаги линкера

0 голосов
/ 31 мая 2019

У меня есть код C ++, разделенный на 2 файла image_desc_try.cpp, common.cpp и common.h. Этот код включает в себя использование Nvidia CUDA и NVidia NVInfer.

Я мог бы успешно скомпилировать весь код, используя следующее.

 g++ -std=c++11 image_desc_try.cpp  common.cpp -I /usr/local/cuda/include -L /usr/local/cuda/lib64   -lcudart -lnvinfer -lnvparsers

Теперь я пытаюсь сделать то же самое с CMake,

include_directories( "/usr/local/cuda/include" )
add_executable( desc_server
    common.cpp
    image_desc_try.cpp
)

target_link_libraries( desc_server
   ${catkin_LIBRARIES}
   /usr/lib/aarch64-linux-gnu/libnvinfer.so
   /usr/lib/aarch64-linux-gnu/libnvparsers.so
   /usr/local/cuda-10.0/targets/aarch64-linux/lib/libcudart.so
)

Это дает мне ссылку на ошибки:

/usr/lib/gcc/aarch64-linux-gnu/7/../../../aarch64-linux-gnu/libnvparsers.so: undefined reference to `getPluginRegistry'
/usr/lib/gcc/aarch64-linux-gnu/7/../../../aarch64-linux-gnu/libnvparsers.so: undefined reference to `getInferLibVersion'
/usr/lib/gcc/aarch64-linux-gnu/7/../../../aarch64-linux-gnu/libnvparsers.so: undefined reference to `getLogger'
/usr/lib/gcc/aarch64-linux-gnu/7/../../../aarch64-linux-gnu/libnvparsers.so: undefined reference to `nvinfer1::utils::reshapeWeights(nvinfer1::Weights const&, int const*, int const*, void*, int)'
collect2: error: ld returned 1 exit status
tx2_whole_image_desc_server/CMakeFiles/desc_server.dir/build.make:157: recipe for target '/home/dji/catkin_ws/devel/lib/tx2_whole_image_desc_server/desc_server' failed
make[2]: *** [/home/dji/catkin_ws/devel/lib/tx2_whole_image_desc_server/desc_server] Error 1
CMakeFiles/Makefile2:1578: recipe for target 'tx2_whole_image_desc_server/CMakeFiles/desc_server.dir/all' failed
make[1]: *** [tx2_whole_image_desc_server/CMakeFiles/desc_server.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...