Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компиляция Qt приложений в Windows XP
Форум на CrossPlatform.RU > Разработка > Инструменты разработчика
Psi
Установлены Qt 4.4.1 и QDeveloper, при попытке скомпилировать простейшую вещь:
#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
     QApplication app(argc, argv);
     QLabel label("WAZAAA");
     label.show();
     return app.exec();
}


В Qdevelopere выдаёт вот такое (дополнительно установлены Dev-C++ и Cygwin B20 для gcc и g++):
Цитата
Сборка (make)...
make -f Makefile.Debug
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I'c:/Qt/4.4.1/include/QtCore' -I'c:/Qt/4.4.1/include/QtCore' -I'c:/Qt/4.4.1/include/QtGui' -I'c:/Qt/4.4.1/include/QtGui' -I'c:/Qt/4.4.1/include' -I'c:/Qt/4.4.1/include/ActiveQt' -I'debug' -I'.' -I'c:/Qt/4.4.1/mkspecs/default' -o debug/newfile.o newfile.cpp
cc1plus.exe: Invalid option `threads'
make[1]: *** [debug/newfile.o] Error 1
make: *** [debug] Error 2
---------------------- Сборка завершена с 1 ошибками ----------------------

make вроде который с дельфёй шел, при замене на nmake от MSVS2005 последние две строчки меняются на
Цитата
NMAKE : fatal error U1077: 'C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\g++.EXE' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\bin\nmake.exe"' : return code '0x2'
Stop.


При попытке скомпилировать в MSVS2005 и прописывании вручную include и lib для Qt отказывается понимать *.plr файлы(ошибка чтения), *.lib'ов в папке lib вообще нет.

Что я делаю не так? Подскажите, пожалуйста.
Под убунтой хади херон всё компилируется без проблем, может есть какой-нибудь способ быстренько кросс-компиляцию настроить?
Заранее, спасибо!
Litkevich Yuriy
Цитата(Гость_Psi_* @ 9.9.2008, 5:30) *
Установлены Qt 4.4.1
что за сборка? автоустановщик? или сам собирал?
прогу надо компилить тем компилятором которым Qt'явые dll'ки собраны.
автоустановщик собран с помощью MinGW32.

Цитата(Гость_Psi_* @ 9.9.2008, 5:30) *
может есть какой-нибудь способ быстренько кросс-компиляцию настроить?
читай тему рядом "Компиляция в Linux для Windows"

P.S. обсуждение сборки и работы с Qt нужно вести в одноименном форуме
Psi
Автоустановщик, при установке еще скачал их собственный MinGW.

Проблема относиться даже не к Qt, а к make'у, чувствую что проблему в этой строчке:
cc1plus.exe: Invalid option `threads', что это за cc1plus.exe и что можно с ним сделать?
Litkevich Yuriy
Цитата(Гость_Psi_* @ 9.9.2008, 15:13) *
Проблема относиться даже не к Qt, а к make'у, чувствую что проблему в этой строчке:
cc1plus.exe: Invalid option `threads', что это за cc1plus.exe и что можно с ним сделать?
make тоже должен быть гнутый, попробуй взять батник, который я описывал здесь (qt432.bat), подправь его под себя, запусти и в командной строке в каталоге кде лежит твой файл проекта выполни:
qmake
make
не покидая этой командной строки попробуй запустить свою программу.

О результатх отпишись.
Psi
О! Спасибо большое! Благодаря этому батнику повбивал переменные среды, а из Path выкинул cyqwin'а пути и всё заработало.
Вот только без путей Qt bin и mingw bin в PATH, программа не желает запускаться(mingw*.dll), получается на каждой машине нужно будет Qt ставить, чтобы программа работала?
ViGOur
Цитата(Гость_Psi_* @ 9.9.2008, 16:50) *
получается на каждой машине нужно будет Qt ставить, чтобы программа работала?
Нет, достаточно будет таскать с приложением необходимые ему библиотеки, вроде: QtCore.dll, QtGui.dll и ...
Зависимости можно посмотреть с помощью: Dependency Walker.
Litkevich Yuriy
Цитата(Гость_Psi_* @ 9.9.2008, 19:50) *
получается на каждой машине нужно будет Qt ставить, чтобы программа работала?
Цитата(ViGOur @ 9.9.2008, 19:53) *
Нет, достаточно будет таскать с приложением необходимые ему библиотеки, вроде: QtCore.dll, QtGui.dll и ...
либо положить их куда-нибуть, и записать путь к ним в переменную PATH
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.