Ошибка компиляции opencv - PullRequest
       0

Ошибка компиляции opencv

0 голосов
/ 14 апреля 2011

Я работаю над кодами, реализованными в 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 ...., но это не сработало со мной.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 22 марта 2013

Я знаю, что это старый, но у меня просто была похожая проблема (с OpenCV 2.4.4a (и также 2.4.1)), и это было первое, что появилось в Google.

Я отключилопция «предварительно скомпилированные заголовки» в конфигурации OpenCV (сделать это от cmake-gui или передать -DENABLE_PRECOMPILED_HEADERS=OFF до cmake при генерации), и все работает нормально.

1 голос
/ 14 апреля 2011

main является отправной точкой выполнения любой C ++ программы.И вы, вероятно, забыли собрать исходный файл с функцией main.Поскольку у созданного вами файла нет main, компоновщику не удалось найти начальную точку выполнения.

g++ SIFT.cpp fileThatHasMainFunctionDefinition.cpp -o SIFT

или, альтернативно, предоставить main в SIFT.cpp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...