I'm working on opencv implemented codes which I downloaded already by svn. These codes such as SIFT or SURF and codes for opencv were working perfectly before, but suddenly I got this error while I want to compile any code concerns 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
So how can I solve it please, I have red already some problems but they were not helpful with my case, such as I have to change the compilation code from g++ SIFT.cpp -o SIFT ....
to g++ -o SIFT SIFT.cpp ....
but it didn't work out wit开发者_如何转开发h me.
Thank you.
I know this is old, but I just had a similar problem (with OpenCV 2.4.4a (and also 2.4.1)) and this was the first thing that popped up on google.
I disabled the "precompiled headers" option in the OpenCV configuration (do it from cmake-gui
, or pass -DENABLE_PRECOMPILED_HEADERS=OFF
to cmake
when generating), and everything works fine.
main
is the starting point of execution of any C++ program. And you probably have forgot to build the source file that has main
function. Since the file you built doesn't has main
, linker failed to find the starting point of execution.
g++ SIFT.cpp fileThatHasMainFunctionDefinition.cpp -o SIFT
or alternatively provide the main
in SIFT.cpp
itself.
精彩评论