У меня есть приложение-заглушка 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





Основано на более позднем ответе вопрошающего, а не на исходном вопросе.
В командной строке 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 только для компиляции 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 и т. д.)
при запуске приложения. проект компилируется либо в режиме отладки, либо в режиме выпуска.
Да, используйте MinGW 3.4.2. Я тоже сталкиваюсь с проблемами, пробуя версии 5.x.