Opencv2示例程序不工作
Opencv2 Sample Program not working
我正试图让opencv2代码在我的Ubuntu 12.04上工作。看来库安装正确了。
这里是示例代码,我试图得到的工作
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char ** argv)
{
// Read image and write to matrix - here converted to grayimage by "0"
Mat myimage = imread ( argv[1], 0 );
// Show it in a window
imshow ( "MyWindowTitle", myimage);
// Wait for a keypress ( for x [ms], 0 means infinity )
waitKey(0);
}
我将这段代码编译为:
g++ -o sample `pkg-config --cflags --libs opencv` sample.cpp
然而,我得到以下编译错误:
/tmp/cccMPtyu.o: In function `main':
imshow.cpp:(.text+0x59): undefined reference to `cv::imread(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
imshow.cpp:(.text+0x92): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
imshow.cpp:(.text+0xc9): undefined reference to `cv::imshow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
imshow.cpp:(.text+0xeb): undefined reference to `cv::waitKey(int)'
/tmp/cccMPtyu.o: In function `cv::Mat::~Mat()':
imshow.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x2b): undefined reference to `cv::fastFree(void*)'
/tmp/cccMPtyu.o: In function `cv::Mat::release()':
imshow.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x3b): undefined reference to `cv::Mat::deallocate()'
collect2: ld returned 1 exit status
可能的原因是什么?我该如何改正呢?
也可以有人建议一个很好的教程,特别是openv2。我以前使用opencv1编程,但似乎有很多变化。
添加库路径
export LD_LIBRARY_PATH=$LD_LIBARARY_PATH:/usr/local/lib
然后使用
命令g++ -o sample sample.cpp `pkg-config --cflags --libs opencv`
看起来pkg-config
程序假定opencv
libs
的库路径在默认路径中,但它不是。
尝试将-L
选项添加到gcc
行。(-L{path to opencv libs}
)
相关文章:
- 以螺旋方式打印矩阵的程序.(工作不好)
- 我的评分程序无法正常工作
- 如何解决在负数的情况下程序以相同方式工作的问题?
- 如何使实例化在我的 OpenGL 程序中工作?
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作
- 有没有办法在RCPP程序无法正常工作时阻止RGui崩溃?
- cout 在我的程序上无法正常工作,有人可以帮助我吗?
- C++程序工作,但 Windows 显示"程序.exe已停止工作"
- 程序在CLion IDE中工作,但exe不起作用
- 适用于 macOS 的 Xcode 应用程序。这就是我设置从USB麦克风输入获取音频的方式。一年前工作,现在没有了。为什么
- 为什么使用 exec() 重新启动程序不能正常工作?
- 使用程序生成来创建磁盘,但纹理无法正常工作
- 我无法让我的程序工作,我一直得到未定义的符号:C
- 所有Visual Studio安装程序崩溃,可视化构建工具也无法正常工作
- 名为DLL的C++windows服务程序工作不正常
- .exe应用程序在windows10中创建新模块时抛出错误,但在windows7中工作正常
- O2优化水平中断程序工作
- 从书本中学习C++无法使该程序与类一起工作
- r-工作程序中对自定义函数的未定义引用(C++和RcppParallel)
- 带有 Allegro 5 的工作程序不再起作用