C++ ueye未定义引用使用catkin_make
我在尝试使用uEye相机时遇到了一个困难。我补充说C++ ueye未定义引用使用catkin_make,c++,undefined-reference,C++,Undefined Reference,我在尝试使用uEye相机时遇到了一个困难。我补充说 #include "ueye.h" 要使用代码,请执行以下操作: HIDS hCam = 1; INT nRet = is_InitCamera (&hCam, NULL); 然而,这是我尝试使用我的CmakeList()制作柳絮时的输出 我应该添加什么才能使它工作 我假设是由uEye提供的函数。要使用这些外部函数,您需要做两件事: -为编译器提供函数声明,通常在.h中-您完成了这部分 -向链接器提供包含已编译函数的库-您引用的错
#include "ueye.h"
要使用代码,请执行以下操作:
HIDS hCam = 1;
INT nRet = is_InitCamera (&hCam, NULL);
然而,这是我尝试使用我的CmakeList()制作柳絮时的输出
我应该添加什么才能使它工作 我假设
是由uEye提供的函数。要使用这些外部函数,您需要做两件事:
-为编译器提供函数声明,通常在.h
中-您完成了这部分
-向链接器提供包含已编译函数的库-您引用的错误消息表示您没有执行此部分
如何为链接器提供库取决于您的环境,但总有一些库列表需要添加.lib、.a或其他库文件。将${UEYE_library}
添加到CMakeLists.txt中的目标链接库解决了问题。您需要使用gcc-lueye_api-o
进行编译。在这里找到它。ueye.h文件中的在哪里定义以及如何定义。无论如何,问题解决了。:)
CMakeFiles/ros_aruco.dir/src/ros_aruco.cpp.o: In function `main':
ros_aruco.cpp:(.text+0x578): undefined reference to `is_InitCamera'
collect2: ld returned 1 exit status