#include "ueye.h"
使用代码:
HIDS hCam = 1;
INT nRet = is_InitCamera (&hCam, NULL);
然而,当我尝试使用我的CMakeLists(http://pastebin.com/u8f4t2Fc)
尝试catkin_make时,这是输出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
我应该添加什么才能使其正常工作?
答案 0 :(得分:0)
我假设is_InitCamera
是uEye提供的功能。要使用这些外部功能,您需要做两件事:
- 通常在.h
中为编译器提供函数声明 - 你做了这个部分
- 为链接器提供包含已编译函数的库 - 您引用的错误消息表明您没有执行此部分操作
如何为库提供链接器取决于您的环境,但总有一些库列表需要添加.lib,.a或其他库文件。
答案 1 :(得分:0)
将${UEYE_LIBRARY}
添加到CMakeLists.txt中的target_link_libraries解决了这个问题。
答案 2 :(得分:0)
您需要使用gcc <your_filename> -lueye_api -o <output_filename>
进行编译。在此link上找到了它。