Компиляция программы Qt в Windows XP с помощью MinGW's g ++

У меня есть приложение-заглушка Qt, и я продолжаю получать ошибки компилятора

#include <QApplication>

int main(int argc, char *argv[])
 {
     return 0;
 }

Я использовал команды qmake -project и qmake и, насколько я могу судить они сделали свою работу правильно. Когда я впоследствии позвоню make по команде line я получаю следующую ошибку:

g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I
'../../../../qt/include/QtCore' -I'../../../../qt/include/QtCore' -I'../../../..
/qt/include/QtGui' -I'../../../../qt/include/QtGui' -I'../../../../qt/include' -
I'.' -I'c:/qt/include/ActiveQt' -I'release' -I'.' -I'../../../../qt/mkspecs/defa
ult' -o release/Main.o Main.cpp
cc1plus.exe: Invalid option 'threads'
make[1]: *** [release/Main.o] Error 1
make: *** [release] Error 2

Мои поиски в Google говорят мне, что многопоточность важна, но не как ее исправить эту ошибку. Любая помощь будет оценена по достоинству.

РЕДАКТИРОВАТЬ (скопировано из ответа, оставленного OP):

Теперь я получаю:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc 
-Wl,-s -pthread -Wl -Wl,-subsystem,windows -o release/raytrace.exe 
object_scr ipt.raytrace.Release  -L'c:/qt/lib' -lmingw32 -lqtmain -lQtGui -lgdi32 
-lcomdlg3 2 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 
-luser32 - lshell32 -luuid -lole32 -ladvapi32 -lws2_32 
g++: unrecognized option `-pthread' 
/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/bin/ld: cannot open -lmsimg32: 
No such file or directory collect2: 
ld returned 1 exit status make[1]: *** 
[release/raytrace.exe] Error 1 make: *** [release] Error 2
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
15 457
4

Ответы 4

Основано на более позднем ответе вопрошающего, а не на исходном вопросе.

В командной строке MSYS запустите «ls /mingw/lib/libmsimg32.a» и посмотрите, есть ли у вас этот файл. Моя установка работает (MinGW GCC 3.4.5). Если у вас есть этот файл, вам может потребоваться добавить -L / mingw / lib. Если у вас нет файла, возможно, вы пропустили установку части MinGW для Windows api.

В любом случае удалите -pthread. Вы используете Win32 api.

Если это не сработает, вам нужно указать, какую версию MinGW вы используете, и, если вы используете MSYS, какую версию MSYS.

Ну, у меня была аналогичная проблема раньше, когда я устанавливал MingW, загруженный из Интернета, но, с другой стороны, при установке Qt он попросит вас загрузить версию MingW, совместимую с Qt. Так вы пытались установить его, когда установщик Qt спросил вас?

Да, используйте MinGW 3.4.2. Я тоже сталкиваюсь с проблемами, пробуя версии 5.x.

Tuminoid 11.12.2008 20:41

++ милот

Я использую MinGW только для компиляции Qt в Windows, и это самый простой способ убедиться, что у вас есть все необходимое.

Вот ссылка на версию Qt с открытым исходным кодом: http://trolltech.com/downloads/opensource/appdev/windows-cpp

Воспользуйтесь ссылкой «Или скачать Qt с включенным компилятором MinGW: Размер: 149,3 Мб».

Другой способ использования MinGW - это скомпилировать Qt с MinGW, а затем скомпилировать ваше приложение, но это зависит от того, компилируете ли вы в MSYS или просто используете MinGW.

Qt 4.5 имеет Qt Creator 1.1, с помощью которого легко разрабатывать приложения.

В Qt Creator совмещено проектирование и кодирование, что значительно упрощает использование.

вы можете испытать это, как при использовании VB IDE (или, скорее, как eclipse, netbeans и т. д.)

при запуске приложения. проект компилируется либо в режиме отладки, либо в режиме выпуска.

Другие вопросы по теме