我有一个只有import的文件:
#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库内容:
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
发布于 2012-02-01 22:04:13
您需要正确地包含头文件-I
(大写i)和库-l
(小写L)。
在最新的OpenCV版本上,您应该执行以下操作:
#include <cv.h>
#include <highgui.h>
然后尝试使用以下命令进行编译:
g++ m.cpp -o app `pkg-config --cflags --libs opencv`
注意:如果在命令行中只执行pkg-config --cflags --libs opencv
,您将看到需要包含在g++命令行中的路径和库。
发布于 2019-03-06 23:17:19
我建议你用CMake和G++
一起编译OpenCV
,我觉得这种方式更合适。
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})
发布于 2019-03-02 06:11:21
chmod +x安装-opencv.sh ./install-opencv.sh
如果您安装了不同版本的库,请更新安装脚本中的第一行版本。有关更多信息,请使用this教程。用下一行代码编译它:
g++ `pkg-config --cflags opencv` example.cpp `pkg-config --libs opencv`
https://stackoverflow.com/questions/9094941
复制相似问题