2013-12-10 2 views
0

Я пытаюсь создать проект QT с использованием qmake. Для этого мне нужна библиотека ускорения.qmake не добавляет библиотеки из файла .pro в make-файл

LIBS += -L/usr/lib/ \ 
-lboost_system \ 
-lboost_filesystem 

Но после запуска QMAKE, эти библиотеки не добавляются в Makefile:

LIBS = $(SUBLIBS) -L/usr/X11R6/lib64 -lQt5MultimediaWidgets 
-L/build/buildd/qtmultimedia-opensource-src-5.0.1/lib -L/usr/lib/x86_64-linux-gnu 
-L/usr/lib/x86_64-linux-gnu/x86_64-linux-gnu -lQt5OpenGL -lQt5Multimedia -lpulse 
-lQt5Widgets -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread 

Как и ожидалось, компоновщик печатает много ошибок, как

/usr/include/boost/system/error_code.hpp:214: error: undefined reference to boost::system::generic_category() 

Если вы хотите, чтобы взять Посмотрите на весь файл .pro, перейдите к https://raw.github.com/francisengelmann/FabScan100/master/qtTest/qtTest.pro

У меня также есть аналогичная проблема с opencv. Кто-нибудь знает, как решить эту проблему?

+0

Я не думаю, что это изменило бы ситуацию, но у вас есть строки, повторяющиеся в файле .pro. –

+0

Я тоже это узнал, но, как вы говорите, удаление этих нескольких строк не имеет значения. – David

+0

Вы пытались полностью удалить свою сборку и пересоздать проект? –

ответ

0

После изменения файла .pro вам необходимо запустить qmake. Недостаточно просто удалить каталог сборки.

Также вы уверены, что ваша цель qmake - linux-g ++? Работает ли INCLUDEPATH?

+0

После этого я запустил qmake. Ищите мой комментарий к другому ответу, я проверю эти вещи, когда у меня есть домашняя обстановка. – David

+0

Проверьте спецификацию, которую использует qmake. Если вы используете 64-битную систему, скорее всего, вам понадобится спецификация linux-g ++ * (со звездой). Или просто используйте linux- * spec, так как ваши заголовки и библиотеки не являются gcc-специфическими. –

+0

Большое спасибо, это была проблема. Моя цель qmake - linux-g ++ 64. С linux-g ++ он отлично работает. Спасибо. – David

Смежные вопросы