Неопределенная ошибка ссылки при компиляции программы Qt hello world

0

Я пытаюсь скомпилировать программу Qt hello world. Я использую Qt 5.2.0 для Windows 64 бит. Это мой код

#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
 QCoreApplication a(argc, argv);
 qDebug() << "Hello world";
 return a.exec();
 }

Когда я запускаю приложение, я получаю следующие ошибки времени выполнения:

 mingw32-make[1]: Entering directory 'C:/Users/test/qt_creator_projects/build-QtTest-    TestLocal_PC-Debug'
 g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_CORE_LIB -I..\QtTest -    

 I"D:\Qt\5.2.0\msvc2012_64\include" -I"D:\Qt\5.2.0\msvc2012_64\include\QtCore" -I"debug" -   
 I"." -I"D:\Qt\5.2.0\msvc2012_64\mkspecs\win32-g++" -o debug\main.o ..\QtTest\main.cpp
  g++ -Wl,-subsystem,console -mthreads -o debug\QtTest.exe debug/main.o  -   

  LD:\Qt\5.2.0\msvc2012_64\lib -lQt5Cored 
 debug/main.o: In function 'main':
  C:\Users\test\qt_creator_projects\build-QtTest-TestLocal_PC-  
  Debug/../QtTest/main.cpp:5: undefined reference to '_imp___ZN16QCoreApplicationC1ERiPPci'

  C:\Users\test\qt_creator_projects\build-QtTest-TestLocal_PC-  Debug/../QtTest/main.cpp:7:   undefined reference to '_imp___ZN16QCoreApplication4execEv'

  Makefile.Debug:77: recipe for target 'debug\QtTest.exe' failed
  C:\Users\test\qt_creator_projects\build-QtTest-TestLocal_PC-  

  Debug/../QtTest/main.cpp:7: undefined reference to '_imp___ZN16QCoreApplicationD1Ev'
 mingw32-make[1]: Leaving directory 'C:/Users/test/qt_creator_projects/build-QtTest-  TestLocal_PC-Debug'
 Makefile:34: recipe for target 'debug' failed
 C:\Users\test\qt_creator_projects\build-QtTest-TestLocal_PC-Debug/../QtTest/main.cpp:7: undefined reference to '_imp___ZN16QCoreApplicationD1Ev'
  collect2.exe: error: ld returned 1 exit status
 mingw32-make[1]: *** [debug\QtTest.exe] Error 1
mingw32-make: *** [debug] Error 2
16:37:34: The process "D:\pen drive data\MinGW\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project QtTest (kit: TestLocal PC)
When executing step 'Make'

.pro файл

   QT       += core

   QT       -= gui
   TARGET = QtTest
   CONFIG   += console
   CONFIG   -= app_bundle

   TEMPLATE = app


   SOURCES += main.cpp

Я хочу использовать Qt с MinGW. В настоящее время я использую Qt creatore для 64-битного компилятора Visual Studio 2012. Поскольку 64-битный MinGW недоступен для загрузки для 5.2.0

Может ли кто-нибудь помочь мне решить эти ошибки?

  • 4
    «В настоящее время я использую Qt creatore для 64-битного компилятора Visual Studio 2012». - это не так, вы используете GCC от mingw (g ++), пытаясь связать версии библиотек MSVC, судя по путям, видимым в журнале. Перепроверьте свои настройки, у вас есть путаница, которая не может работать.
  • 0
    С сайта qt я скачал версию VS 2012 (64-битные окна). У меня не установлено Visual Studio на моей машине. Поэтому я хочу использовать вместо этого компилятор MingGW .. Это возможно? Я добавил компилятор для того же в комплекте для сборки и запуска
Показать ещё 3 комментария
Теги:
qt

1 ответ

1
Лучший ответ

Зачем вам загружать версию Qt VS2012, если у вас ее нет, ну, VS2012?

Загрузите версию, которая соответствует точному компилятору. Если их нет, загрузите источники и скомпилируйте их самостоятельно.

Если вы хотите избежать осложнений самокомпиляции, то VS2012 Express вполне подходит для разработки с Qt. Это тот же самый компилятор, что и платные версии, и если вы разрабатываете с помощью Qt Creator, то вам действительно не нужны все ограничения, которые может иметь среда Express Express. Он отлично работает.

Другая возможность заключается в использовании сборки Qt. Во время настройки вы можете включить установку инструментальной метки MinGW 4.8.0. Это дает вам полную среду разработки, с IDE, заголовками и двоичными файлами Qt и инструментальной цепочкой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню