2013-08-20 5 views
-1

проблемы с Qt * .pro файлом:Qt ошибки компоновщика: не могут найти -lQtCored

TARGET = ProgName 
TEMPLATE = app 
CONFIG += console 
QT += core 
QT += gui 

LIBS += -LC:\\Qt\\4.8.5\\bin 
LIBS += -LC:\\Qt\\4.8.5\\lib 
LIBS += -LS:\\lib 
# LIBS += -lQtCored4   # not necessary 
# LIBS += -lQtCore4 
# LIBS += -lQtGuid4 
# LIBS += -lQtGui4 

SOURCES += ... 
HEADERS += ... 

я получаю эти ошибки компоновщика: существует

:-1: error: cannot find -lQtGuid 
:-1: error: cannot find -lQtCored 
collect2.exe:-1: error: error: ld returned 1 exit status 

Всех библиотек DLL в указанных каталогах.
Документация мало помогла.

Этот профайл работал несколько дней назад, и, похоже, у него проблемы, так как я установил Qt 5.1 (это еще не используется, я все еще работаю с Qt4).

Платформа: Windows 7, MinGW, Qt 4.8.4

ответ

1

Вам нужно только следующее содержание:

TARGET = ProgName 
TEMPLATE = app 
CONFIG += console 
QT -= gui 

SOURCES += ... 
HEADERS += ... 

Это потому, что core и gui автоматически добавляются в переменную QT. Однако в этом конкретном случае вы можете удалить gui по умолчанию, если хотите создать консольное приложение по своему усмотрению. Хотя «CONFIG + = console» в конечном итоге может это сделать для вас. Кроме того, все будет работать автоматически для вас, поэтому вам не нужно передавать путь библиотеки к qt-библиотекам и так далее. Вам нужно будет использовать только QT += widgets и подобные строки, если вы использовали дополнительные модули Qt, по умолчанию их нет. Даже тогда вам не нужно было устанавливать путь библиотеки Qt так же, как в вашем вопросе.

Кроме того, если вы хотите цель кросс-платформенный позже, вы можете добавить следующее:

CONFIG - = app_bundle

, чтобы избежать создания Mac сверток для приложений, основанных на консоли.

Если у вас установлено несколько версий Qt, как вам кажется, вам нужно использовать qmake из требуемой версии, и все будет хорошо. Просто привести пример: я использую qmake для Qt 5 в моей системе Archlinux и qmake-qt4 для Qt4.

В окнах вы должны либо иметь желаемый установочный диск qt на пути перед нежелательным, либо вам нужно явно вызвать нужный qmake, что-то вроде C:\path\to\my\desired\qmake.

1

Там нет необходимости связывать с любыми библиотеками Qt AFAIK.

Если вы используете Qt Creator, вам необходимо убедиться, что Qt 4.8.4 правильно распознан в Tools - Options - Build & Run - Kits. Поскольку вы установили 5.1, это может быть больше недействительным. Затем установите комплект 4.8.4 для вашего проекта и скомпилируйте его (иногда иногда помогает очистка каталога сборки).

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

  • Нет связанных вопросов^_^