-2
試圖編譯一個非常簡單的程序來測試我最近安裝的OpenCV 3.2.0。我的程序opencvtest.cpp
位於名爲cpp
的文件夾中,該文件夾還包含opencv-3.2.0
安裝目錄。編譯簡單的openCV項目
這是我的程序。
//Include file for every supported OpenCV function
#include <opencv2/opencv.hpp>
int main(int argc, char** argv) {
cv::Mat img = cv::imread(argv[1], -1);
if(img.empty()) return -1;
cv::namedWindow("Example 2-1", cv::WINDOW_AUTOSIZE);
cv::imshow("Example 2-1", img);
cv::waitKey(0);
cv::destroyWindow("Example 2-1");
return 0;
}
在下面,我包括調用pkg配置,以顯示我使用什麼參數,我的實際G ++命令來嘗試和編譯我的文件。
asif.ahmed:~/cpp $ pkg-config opencv --cflags --libs
-I/usr/include/opencv -I/usr/include/opencv2 -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy -lopencv_core -lopencv_ml -lopencv_features2d -lopencv_objdetect -lopencv_flann -lopencv_video -lopencv_highgui
asif.ahmed:~/cpp $ g++ opencvtest.cpp `pkg-config opencv --cflags --libs` -o main
opencvtest.cpp:2:10: fatal error: 'opencv2/opencv.hpp' file not found
#include <opencv2/opencv.hpp>
^
1 error generated.
任何人都可以提出什麼來得到這個編譯?我沒有很好的掌握編譯C++的命令行。
我有/Users/asif.ahmed/cpp/opencv- 3.2.0/include/opencv和/Users/asif.ahmed/cpp/opencv-3.2.0/include/opencv2目錄,但沒有/ usr/include/opencv2或/ usr/include/opencv目錄。我可以將這些目錄複製到/ usr/include中嗎? – Asif
無需複製,只需添加(替換'-I/usr/include/opencv2')編譯器的另一個選項'-I/Users/asif.ahmed/cpp/opencv-3.2.0/include /' – VolAnd
不幸的是編譯命令'g ++ opencvtest.cpp -o hello -I/Users/asif.ahmed/cpp/opencv-3.2.0/include /'仍會返回一個致命錯誤:'opencv2/opencv_modules.hpp'找不到文件header – Asif