Ich habe Microsoft Visual C++ Express Edition Version 9.0.30729.1 SP installiert. Der Befehlszeilencompiler, der damit geliefert wird, ist Version 15.00.30729.01 für 80 x 86. Ich habe OpenCV 20.0a installiert.Schwierigkeiten mit "cl.exe" (Befehlszeilencompiler von VisualStudio) und Header-Dateien!
Ich mag folgendes Programm kompilieren:
#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;
}
Die Sache ist, ich NICHT wollen den „visuellen“ Aspekt von Visual C++ verwenden, mag ich die Befehlszeilen-Compiler verwenden, das ist "cl.exe".
Wenn ich versuche, dieses Programm zu kompilieren, erhalte ich die Fehlermeldung:
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
Also habe ich versucht, mit specifiy/Ich mag diese
C:\visualcpp>cl /I "C:\OpenCV2.0\src\cv" OpenCV_Helloworld.cpp
und Variationen davon, in der Hoffnung, dass/Ich würde irgendwie cl.exe sagen, wo cv.h ist, aber ich bekomme den gleichen Fehler.
Als eine Randnotiz, ich weiß nicht, ob das verwandt ist, aber ich habe festgestellt, dass es keine Datei "cv.h" in "C: \ OpenCV2.0 \ src \", sondern eine Datei namens "_cv .h "! Also habe ich den Header entsprechend geändert, aber trotzdem.
Ich denke, ich bin in der Lage, in C++ etwas zu programmieren, aber ich verstehe nicht, wie Header/Linker Dateispeicherorte angeben, vor allem mit cl.exe, da ich nur gcc zuvor verwendet habe und ich glaube nicht, dass ich weiß was ich gerade mache. Bitte hilf mir das zu kompilieren! Ich möchte in OpenCV starten.
Woher hast du die Idee, dass cl nur in Visual Studio aufgerufen werden kann - das ist ziemlich einfach falsch. cl kann natürlich von der Befehlszeile aus aufgerufen werden, zum Beispiel wenn es in Makefiles, Jam-Dateien, über SCons usw. oder anderen Build-Umgebungen verwendet wird. –
http://msdn.microsoft.com/en-us/library/ms235639(VS.80).aspx - Was ist das, kann die normale Befehlszeile nicht verwenden? – Puppy