使用CMake,我得到了GPU编码器静态库(.a)制作的ploberm。

26意见(过去30天)
DaHoon Jeong
DaHoon Jeong 2020年4月23日
Commented: vlasov aleksandr.2021年4月18日
我Wannna编译包括GPU编码器在Jetson Xavier中的静态库(.a)函数,并在ROS上执行代码。
I already successed making static library using gpu coder.
I think that in CMakeLists, setting library path is well.
but I got a ploblem when complile .cpp file through cmake in Xavier.
I attach error code and CMakeLists file.
帮我!!!!!
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(wlapper.o):在功能`__sti ____ cudaregisterall()':
tmpxft_00002175_00000000-5_wrapper.cudafe1.cpp :(。text.startup + 0x20):未定义引用到`__cudaregisterlinkedbinary_42_tmpxft_00002175_00000000_6_wrapper_cpp1_ii_96e8f507'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(introsort.o):在功能`__sti ____ cudaregisterall()':
TMPXFT_0000244E_00000000-5_INTROSORT.CUDAFE1.cpp :(。text.startup + 0x20):未定义引用到`__cudaregisterlinkedbinary_44_tmpxft_0000244E_00000000_6_INTOROSORT_CPP1_III_5DA2A824'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(insertionsort.o): In function `__sti____cudaRegisterAll()':
tmpxft_000024cb_00000000-5_insertionsort.cudafe1.cpp:(.text.startup+0x20): undefined reference to `__cudaRegisterLinkedBinary_48_tmpxft_000024cb_00000000_6_insertionsort_cpp1_ii_54501cbc'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a (heapsort.o):在功能`__sti ____ cudaregisterall()':
tmpxft_00002530_00000000-5_heapsort.cudafe1.cpp :(。text.startup + 0x20):未定义引用到`__cudaregisterlinkedbinary_43_tmpxft_00002530_00000000_6_heapsort_cpp1_ii_6b1ad24e'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(wrapper_emxutil.o): In function `__sti____cudaRegisterAll()':
tmpxft_0000259e_00000000-5_wrapper_emxutil.cudafe1.cpp:(.text.startup+0x20): undefined reference to `__cudaRegisterLinkedBinary_50_tmpxft_0000259e_00000000_6_wrapper_emxutil_cpp1_ii_74fbff25'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(mwlaunchparametersutities.o):在功能`__sti ____ cudaregisterall()':
tmpxft_000026fb_00000000-5_MWLaunchParametersUtilities.cudafe1.cpp:(.text.startup+0x20): undefined reference to `__cudaRegisterLinkedBinary_62_tmpxft_000026fb_00000000_6_MWLaunchParametersUtilities_cpp1_ii_3d5deff9'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(wlapper_data.o):在功能`__sti ____ cudaregisterall()':
TMPXFT_000020C9_00000000-5_WRAPPER_DATA.CUDAFE1.cpp :( text.startup + 0x20):未定义引用到`__cudaregisterlinkedbinary_47_tmpxft_000020c9_00000000_6_wrapper_data_cpp1_ii_7c19101b'
/home/nvidia/catkin_ws/src/realtime_inpainting/src/wrapper/wrapper.a(wrapper_initialize.o):在功能`__sti ____ cudaregisterall()':
tmpxft_0000210a_00000000-5_wrapper_initialize.cudafe1.cpp :(。text.startup + 0x20):未定义引用到`__cudaregisterlinkedbinary_53_tmpxft_0000210a_00000000_6_wrapper_initialize_cpp1_ii_9c24d7b2'
[84%]构建目标立体贴图Proc_exe
collect2:错误:ld返回1个退出状态
Realtime_inpainting / cmakefiles / inpainting_cuda.dir / build.make:137:目标的配方'/ home / nvidia / catkin_ws / devel / lib / nealtime_inpainting / iNpainting_cuda'失败
make [2]:*** [/ home / nvidia / catkin_ws / devel / lib / nealtime_inpainting / inpainting_cuda]错误1
Cmakefiles / makefile2:7382:目标的配方'realtime_inpainting / cmakefiles / inpainting_cuda.dir /所有失败
make[1]: *** [realtime_inpainting/CMakeFiles/inpainting_cuda.dir/all] Error 2
[1]: * * *等未完成的工作…
[86%]构建目标tf2_ros_static_transform_publisher
[87%]建立目标Kinect2_Bridge
[87%]构建目标Image_Rotate
[ 93%] Built target depth_image_proc
[94%]构建目标Kinect2_Bridge_Nodelet
Makefile:140: recipe for target 'all' failed
制作:*** [全部]错误2
调用“make -j8 -l8”失败

接受答案

chLuo
chLuo 2020年4月23日
Hi DaHoon,
由GPU编码器创建的静态库包含可重新划分的CUDA设备代码,只能通过NVCC链接。G ++无法链接CUDA设备代码。要解决此问题,您可以使用NVCC而不是G ++链接。或者使用GPU编码器创建动态库(.so),其中设备代码已被NVCC链接,您可以使用G ++链接。
ch
7评论
vlasov aleksandr.
vlasov aleksandr. 2021年4月18日
Excuse me, I don't understand how to link to libconsole_bridge.so. I can't find anything useful on the Internet, could you tell me which command can do this?

Sign in to comment.

更多答案(0)

下载188bet金宝搏


释放

R2020A

社区宝藏狩猎

Find the treasures in MATLAB Central and discover how the community can help you!

开始狩猎!