如何在gcc上编译opencvapi
我正在尝试编译一个包含Opencv库API的.C文件。如何在gcc上编译opencvapi,opencv,gcc,header,linker,Opencv,Gcc,Header,Linker,我正在尝试编译一个包含Opencv库API的.C文件。 编译器似乎没有找到API。我使用普通命令进行编译 gcc new.c -c gcc new.o -o new1 -l highgui highgui是一个.h文件,它从Opencv库调用其他.h文件 我想我和下面的线程有同样的问题,因为我得到了几乎相同的错误 尝试下面的命令 gcc -I/usr/local/include/opencv -I/usr/local/include/opencv2 -L/usr/local/l
编译器似乎没有找到API。我使用普通命令进行编译
gcc new.c -c
gcc new.o -o new1 -l highgui
highgui是一个.h文件,它从Opencv库调用其他.h文件
我想我和下面的线程有同样的问题,因为我得到了几乎相同的错误
尝试下面的命令
gcc -I/usr/local/include/opencv -I/usr/local/include/opencv2 -L/usr/local/lib/ -g -o binary main.c -lopencv_core -lopencv_imgproc -lopencv_highgui
假定OpenCV安装在/usr/local目录下 尝试使用所编写的命令。
它告诉编译器在/usr/local/include/opencv
和/usr/local/include/opencv2
目录(-I
开关)中另外查找头文件,并在/usr/local/lib/
中查找库(-L
)。接下来,它告诉链接器使用-l
切换到链接库opencv\u core等
当您遇到这种类型的问题时,您需要找到库文件,告诉编译器它们的路径,并告诉他要链接哪些库,在名称中省略库部分,例如
opencv_core
,而不是libopencv_core
,您可以使用pkg config命令获取编译器/链接器选项。像这样
gcc `pkg-config --cflags opencv` `pkg-config --libs opencv` new.c
请注意上面的标点符号是“不是”
或者您可以使用CMake。像这样写一个CMakeLists.txt
cmake_minimum_required (VERSION 2.6)
project (new1)
find_package (OpenCV REQUIRED)
include_directories (${OpenCV_INCLUDE_DIRS})
add_executable (new1 new.c)
target_link_libraries (new1 ${OpenCV_LIBS})
mkdir build
cd build
cmake -DOpenCV_DIR=<the-directory-contating-OpenCVConfig.cmake> ..
make
然后你可以这样建造
cmake_minimum_required (VERSION 2.6)
project (new1)
find_package (OpenCV REQUIRED)
include_directories (${OpenCV_INCLUDE_DIRS})
add_executable (new1 new.c)
target_link_libraries (new1 ${OpenCV_LIBS})
mkdir build
cd build
cmake -DOpenCV_DIR=<the-directory-contating-OpenCVConfig.cmake> ..
make
mkdir构建
光盘制作
cmake-DOpenCV_DIR=。。
制作