C++ 未定义对'的引用;cv::viz::Viz3d::Viz3d(标准::字符串和常量)';
我已经用qtcreator运行了我的opencv代码,当我尝试使用Viz库时,我得到了这个答案 代码:C++ 未定义对'的引用;cv::viz::Viz3d::Viz3d(标准::字符串和常量)';,c++,qt,opencv,C++,Qt,Opencv,我已经用qtcreator运行了我的opencv代码,当我尝试使用Viz库时,我得到了这个答案 代码: #include <opencv2/calib3d/calib3d.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/contrib/contrib.hpp> #include <o
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/contrib/contrib.hpp>
#include <opencv2/viz/vizcore.hpp>
/// Create a window
viz::Viz3d myWindow("Viz Demo");
/// Start event loop
myWindow.spin();
/// Event loop is over when pressed q, Q, e, E
printf("First event loop is over\n");
/// Access window via its name
viz::Viz3d sameWindow = viz::getWindowByName("Viz Demo");
/// Start event loop
sameWindow.spin();
/// Event loop is over when pressed q, Q, e, E
printf("Second event loop is over\n");
/// Event loop is over when pressed q, Q, e, E
/// Start event loop once for 1 millisecond
sameWindow.spinOnce(1, true);
while(!sameWindow.wasStopped())
{
/// Interact with window
/// Event loop for 1 millisecond
sameWindow.spinOnce(1, true);
}
/// Once more event loop is stopped
printf("Last event loop is over\n");
#包括
#包括
#包括
#包括
#包括
///创建一个窗口
viz::Viz3d myWindow(“viz演示”);
///启动事件循环
myWindow.spin();
///按下q、q、e、e时,事件循环结束
printf(“第一个事件循环结束\n”);
///通过其名称访问窗口
viz::Viz3d sameWindow=viz::getWindowByName(“viz演示”);
///启动事件循环
sameWindow.spin();
///按下q、q、e、e时,事件循环结束
printf(“第二个事件循环结束\n”);
///按下q、q、e、e时,事件循环结束
///启动事件循环一次,持续1毫秒
sameWindow.spinOnce(1,true);
而(!sameWindow.wastopped())
{
///与窗口交互
///事件循环1毫秒
sameWindow.spinOnce(1,true);
}
///再次停止事件循环
printf(“上一个事件循环已结束\n”);
我已经用Ubuntu 12.10安装了opencv的2.4.9版本,我认为它们是兼容的
谢谢 首先检查库libopencv_,即so是否正确安装在您的系统中。如果是,则在编译cpp文件时添加-lopencv_viz。理想情况下,“pkg config--libs opencv”应该包含它
谢谢。如果已安装库
-
<> >项目->属性>设置> GCC C++链接> >库
- 将opencv_viz添加到库中(屏幕截图)
- 保存并生成项目