C. *_*ang 3 macos opencv cmake
我写了一个简单的 opencv 项目,只包含一个main.cpp文件:
// main.cpp
#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat I = cv::imread("img.png");
cv::imshow("img",I);
cv::waitKey(0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后为了构建它,我写了一个CMakeLists.txt这样的,实际上是从http://docs.opencv.org/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html复制过来的
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage main.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
Run Code Online (Sandbox Code Playgroud)
在终端中,首先我运行cmake .并Makefile生成了一个。然后我运行make并收到以下错误:
fatal error:
'opencv2/opencv.hpp' file not found
#include <opencv2/opencv.hpp>
^
......
Run Code Online (Sandbox Code Playgroud)
似乎编译器找不到 OpenCV 包含目录。但我不知道将它添加到CMakeLists.txt. 我的平台是Mac OS X的10.10,和OpenCV包括和lib文件已被安装在/usr/local/include与/usr/local/lib已。但是,在 Ubuntu 中,编译器可以找到它并成功构建项目。
那么CMakeLists.txt在 Mac OS X 中什么是正确的?
小智 6
我终于真正阅读了通过 MacPorts 安装的 /opt/local/share/OpenCV/OpenCVConfig.cmake 的标题。要在外部项目中使用,它指示包括:
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(MY_TARGET_NAME ${OpenCV_LIBS})
Run Code Online (Sandbox Code Playgroud)
(只需将 include_directories 添加到我的 CMakeLists.txt 即可为我解决此问题)
| 归档时间: |
|
| 查看次数: |
3337 次 |
| 最近记录: |