我正在工作的opencv实现的代码,我已经下载了svn。这些代码,如SIFT或SURF和代码的opencv工作完美之前,但突然我得到了这个错误,而我想编译任何代码有关的opencv
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
那么我该如何解决它呢?我已经遇到了一些问题,但它们对我的情况没有帮助,例如我必须将编译代码从g++ SIFT.cpp -o SIFT ....
更改为g++ -o SIFT SIFT.cpp ....
,但它没有与我一起工作。
谢谢。
我知道这是旧的,但我刚刚有一个类似的问题(与OpenCV 2.4.4a(和2.4.1)),这是谷歌上弹出的第一个东西。
我在OpenCV配置中禁用了"预编译头"选项(从cmake-gui
开始,或者在生成时将-DENABLE_PRECOMPILED_HEADERS=OFF
传递到cmake
),一切工作正常。
main
是任何 c++ 程序执行的起点。您可能忘记构建具有main
函数的源文件。由于您构建的文件没有main
,链接器无法找到执行的起始点。
g++ SIFT.cpp fileThatHasMainFunctionDefinition.cpp -o SIFT
或者在SIFT.cpp
本身中提供main