首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在c++中编译opencv

在c++中编译opencv
EN

Stack Overflow用户
提问于 2012-02-01 19:22:22
回答 4查看 77.2K关注 0票数 26

我有一个只有import的文件:

代码语言:javascript
复制
#include <iostream>
#include <stdio.h>

#include "cxcore.hpp"
#include "highgui.hpp"

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{

}

我尝试使用g++ -I/usr/include/opencv -lopencv -lm m.cpp进行编译

但是get whit:

包含在/usr/include/opencv/cxcore.hpp:46,来自m.cpp:5: /usr/include/opencv/cxmisc.h:214的文件中的

:error:预期的构造函数、析构函数或‘void’前的类型转换/usr/include/opencv/cxmisc.h:220: error:预期的构造函数,析构函数,或‘int’之前的类型转换/usr/include/opencv/cxmisc.h:226:错误:‘CV_INLINE’未命名类型/usr/include/opencv/cxmisc.h:516:错误:未在此作用域中声明‘CV_DEPTH_MAX’/usr/include/opencv/cxmisc.h:522:错误:未在此作用域中声明‘CV_DEPTH_MAX’/usr/include/opencv/cxmisc.h:522:错误:未在此作用域中声明‘CV_CN_MAX’m.cpp:5: /usr/include/opencv/cxcore.hpp:70: error:‘cv::CV_EXPORTS cv::Size_’的模板声明/usr/include/opencv/cxcore.hpp:71: error:‘cv::CV_EXPORTS cv::Point_’的模板声明/usr/include/opencv/cxcore.hpp:72: error:‘cv::CV_EXPORTS cv::Rect_’的模板声明/usr/include/opencv/cxcore.hpp:77: error:在‘fromUtf16’之前需要初始化器/usr/include/opencv/cxcore.hpp:78: error:在‘toUtf16’之前需要初始化器/usr/include/opencv/cxcore.hpp:80: error:在‘format’之前需要初始化器/usr/include/opencv/cxcore.hpp:82: error:在输入末尾的‘:’令牌m.cpp:38: error:需要‘}’

这是我的copencv库内容:

代码语言:javascript
复制
alberto@zefiro:~$ ls /usr/include/opencv/
cvaux.h    cvcompat.h  cv.hpp        cvtypes.h  cvvidsurv.hpp  cxcore.h    cxerror.h  cxmat.hpp  cxoperations.hpp  highgui.h    ml.h
cvaux.hpp  cv.h        cvinternal.h  cvver.h    cvwimage.h     cxcore.hpp  cxflann.h  cxmisc.h   cxtypes.h         highgui.hpp

我用的是ubuntu 10.10

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-01 22:04:13

您需要正确地包含头文件-I (大写i)和库-l (小写L)。

在最新的OpenCV版本上,您应该执行以下操作:

代码语言:javascript
复制
#include <cv.h>
#include <highgui.h>

然后尝试使用以下命令进行编译:

代码语言:javascript
复制
g++ m.cpp -o app `pkg-config --cflags --libs opencv`

注意:如果在命令行中只执行pkg-config --cflags --libs opencv,您将看到需要包含在g++命令行中的路径和库。

票数 64
EN

Stack Overflow用户

发布于 2019-03-06 23:17:19

我建议你用CMake和G++一起编译OpenCV,我觉得这种方式更合适。

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.1)
project(YOUR_PROJECT_NAME)

set(CMAKE_GXX_FLAGS "-Wall -Wextra -Wconversion  -pedantic -std=gnu11")

find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(YOUR_EXCUTABLE YOUR_CODE_SOURCE_FILES)
target_link_libraries(YOUR_EXCUTABLE ${OpenCV_LIBS})
票数 4
EN

Stack Overflow用户

发布于 2019-03-02 06:11:21

  1. 下载OpenCV文件夹和install-opencv.sh脚本中的源文件。
  2. 通过运行脚本文件,您可以自动安装opencv所需的文件。运行以下代码:

chmod +x安装-opencv.sh ./install-opencv.sh

如果您安装了不同版本的库,请更新安装脚本中的第一行版本。有关更多信息,请使用this教程。用下一行代码编译它:

代码语言:javascript
复制
g++ `pkg-config --cflags opencv` example.cpp `pkg-config --libs opencv`
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9094941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档