最近在工控机上加入CAN卡,想利用CAN卡来做为数据收发。现在在工程中加入CAN卡的头文件和自己做的cpp文档。已经申明了
函数,但是还是会出现上图所示的错误,经过一晚上的战斗算是搞清楚了。感谢@头发还没秃的帮助哈。
问题原因:没有添加第三方依赖库。
解决方案:
在ROS下使用第三方库的话可以直接修改pkg所对应的CMakeLists.txt。
添加头文件搜索路径: 在include_directories()添加所需要的头文件目录, 相当于编译过程中的 -I命令。
添加库文件搜索路径: 在link_directories()里添加所需要的库的目录,相当于编译过程中的 -L命令。
添加对库的链接:在target_link_libraries()里面添加需要添加的库的名称,相当于编译过程中的-l命令。
原库中的make编译文件。
CROSS_COMPILE =
.PHONY : clean
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CROSS_COMPILE)g++ -fPIC
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE