Tôi đã cài đặt Microsoft Visual C++ Express Edition, Phiên bản 9.0.30729.1 SP. Trình biên dịch dòng lệnh đi kèm với nó là Phiên bản 15.00.30729.01 cho 80x86. Tôi đã cài đặt OpenCV 20.0a.khó khăn với "cl.exe" (trình biên dịch dòng lệnh từ VisualStudio) và tệp tiêu đề!
Tôi muốn biên dịch chương trình sau đây:
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");
cvNamedWindow("Image:",1);
cvShowImage("Image:",img);
cvWaitKey();
cvDestroyWindow("Image:");
cvReleaseImage(&img);
return 0;
}
Có điều là, tôi làm KHÔNG muốn sử dụng "thị giác" khía cạnh của Visual C++, tôi muốn sử dụng trình biên dịch dòng lệnh đó là "cl.exe".
Khi tôi cố gắng để biên dịch chương trình này, tôi nhận được lỗi:
C:\visualcpp>cl OpenCV_Helloworld.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved.
OpenCV_Helloworld.cpp
OpenCV_Helloworld.cpp(6) : fatal error C1083: Cannot open include file: 'cv.h': No such file or directory
Vì vậy, tôi đã cố gắng để thể chỉ định với/Tôi thích
C:\visualcpp>cl /I "C:\OpenCV2.0\src\cv" OpenCV_Helloworld.cpp
Và sự thay đổi này của chúng, với hy vọng rằng/Tôi bằng cách nào đó sẽ nói với cl.exe nơi cv.h là, nhưng tôi nhận được cùng một lỗi.
Như một lưu ý phụ, tôi không biết nếu đó là liên quan nhưng tôi nhận thấy rằng không có tập tin "cv.h" trong "C: \ OpenCV2.0 \ src \", nhưng thay vì một tập tin gọi là "_cv .h "! Vì vậy, tôi đã thay đổi tiêu đề cho phù hợp, nhưng vẫn còn.
Tôi nghĩ mình có thể lập trình bằng C++ nhưng tôi không hiểu cách xác định vị trí tệp header/linker, đặc biệt với cl.exe vì tôi chỉ sử dụng gcc trước và tôi không nghĩ mình biết những gì tôi đang làm ngay bây giờ. Xin hãy giúp tôi để biên dịch này! Tôi muốn bắt đầu trong OpenCV.
Bạn lấy ý tưởng ở đâu về việc cl chỉ có thể được gọi từ bên trong Visual Studio - đó là khá đơn giản. cl có thể được gọi từ dòng lệnh, ví dụ: khi được sử dụng trong makefiles, các tệp mứt, thông qua SCons, vv hoặc các môi trường xây dựng khác. –
http://msdn.microsoft.com/en-us/library/ms235639(VS.80).aspx - Đó là gì, không thể sử dụng dòng lệnh thông thường? – Puppy