У меня все еще возникают проблемы с текущим проектом, который просто не будет компилироваться. Я сузил его до Includes, но не могу понять, что происходит. Я прочитал, что мне нужно добавить точку входа WinMain, но это не добавляет - у меня есть одноклассники, которые вообще не сталкивались с этой ошибкой. Таким образом, я создал новый пустой проект:Простой проект не будет компилироваться
#include <cstdlib> //include c library
//using namespace std;
//using namespace cv;
namespace sp {
int main() {
return 0;
}
}
со следующими включает в себя:
Под GCC C++ Compiler Включает:
C:\Users\Amit\Desktop\opencv\build\include
C:\opencv_contrib-3.0.0\modules\xfeatures2d\include
Под MinGW Linker библиотеки C++:
libopencv_core310
libopencv_imgcodecs310
libopencv_imgproc310
libopencv_xfeatures2d310
libopencv_features2d310
libopencv_highgui310
Under MinGW C++ Linker Library путь поиска:
C:\Users\Amit\Desktop\opencv\build\x86\mingw\lib
Тем не менее, без вызова какой-либо функции из этих библиотек, я получаю эту ошибку:
09:45:43 **** Incremental Build of configuration Debug for project testing ****
Info: Internal Builder is used for build
g++ "-IC:\\opencv_contrib-3.0.0\\modules\\xfeatures2d\\include" "-IC:\\Users\\Amit\\Desktop\\opencv\\build\\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\testing.o" "..\\src\\testing.cpp"
g++ "-LC:\\Users\\Amit\\Desktop\\opencv\\build\\x86\\mingw\\lib" -o testing.exe "src\\testing.o" -llibopencv_core310 -llibopencv_imgcodecs310 -llibopencv_imgproc310 -llibopencv_xfeatures2d310 -llibopencv_features2d310 -llibopencv_highgui310
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../libmingw32.a(main.o):(.text.startup+0xa7): undefined reference to `[email protected]'
collect2.exe: error: ld returned 1 exit status
09:45:43 Build Finished (took 396ms)
Может кто-нибудь спасти меня?
Thanks, Amit.
Где вы определяете точку входа: * global * (не в пространстве имен) 'main()' function или 'WinMain' функция? – MikeCAT
'main()' должен находиться в глобальном пространстве имен. –
Главное не может находиться в пространстве имен, потому что оно должно быть глобальным (для того, чтобы операционная система вызывала его). – Wernerson