Site Tools


cppqt
Установка MinGW + QT
Получаем MinGW с официальной страницы http://sourceforge.net/projects/mingw/files/
Получаем библиотеки QT с официальной страницы http://qt-project.org/downloads
Устанавливаем все в пути без использования пробелов.
Прописываем в PATH компьютера пути к bin директориям C:\MinGW\bin;C:\QT\4.8.3\bin
В консоли, в директории C:\QT\4.8.3\ выполняем configure -no-dsp -no-vcproj -platform win32-g++-4.6
mingw32-make
Все установлено.

Возможные проблемы:

g++ -mthreads -shared -Wl,--out-implib,c:\Qt\4.8.2\lib\libQtGuid4.a -o ..\..\lib\QtGuid4.dll object_script.QtGuid.Debug -L"c:\Qt\4.8.2\lib" -L"c:\MinGW\lib" -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 tmp\obj\debug_shared\QtGuid_resource_res.o -lmsimg32 -lshell32 -lQtCored4
c:/mingw/bin/../lib/gcc/ming32/4.7.0/../../../../mingw32/bin/ld.exe: out of memory allocating 133619352 bytes
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [..\..\lib\QtGuid4.dll] Error 1
mingw32-make[2]: Leaving directory 'C:/Qt/4.8.2/src/gui'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory 'C:/Qt/4.8.2/src/gui'
mingw32-make: *** [sub-gui-make_default-ordered] Error 2

Ошибка возникает, потому что ld пытается слинковать файл больше 2ГБ. Вероятно, при конфигурации QT Вы указали -platform win32-g++ а не -platform win32-g++4.6. В mkspecs для win32-g++4.6 добавлен флаг -fno-keep-inline-dllexport

компиляция Hello worl для cpp qt из консоли

Используются команды:

qmake -project # данная команда создает .pro файл
qmake # создает makefiles
mingw32-make # собирает приложение

Возможные проблемы:
Проблема 1:

C:\CPP\QT\HelloWorld>c:\MinGW\bin\mingw32-make.exe
c:/MinGW/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/CPP/QT/HelloWorld'
Makefile.Debug:59: *** missing separator.  Stop.
mingw32-make[1]: Leaving directory 'C:/CPP/QT/HelloWorld'
Makefile:34: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2

Проблема решена:

1) Проверить PATH и убедиться, что указан путь не к msvc библиотекам и инклудам, а к mingw библиотека и инклудам. Пример: 
C:\QtSDK\Desktop\Qt\4.8.1\mingw\lib
2) После изменения PATH и перезагрузки ПК, не забыть удалить автоматически созданные файлы и выполнить qmake -project; qmake
Установка static Qt Linux
Установка static Qt Windows
Macros in class

http://doc.qt.digia.com/4.6/moc.html
Макросы доступны в классе, где присутствует макрос Q_OBJECT

class MyClass : public QObject
 {
     Q_OBJECT

 public:
     MyClass(QObject *parent = 0);
     ~MyClass();

 signals:
     void mySignal();

 public slots:
     void mySlot();
 };

and anoter specific QT keyword “emit”:

if(backwardCheckBox->isChecked()){
    emit findPrevios(text, cs)
}else{
    emit findNext(text,Cs)
}

Чтобы подробно узнать как действую макросы, необходимо читать код QMetaObject и смотреть C++ файлы которые генерирует moc

SLOT and SIGNAL

Возможно:

1) Конект скольки угодно слотов к одному сигналу.
2) Конект скольки угодно сигналов к одному слоту.
3) Конект сигнала к сигналу.
4) В сигнале иметь больше параметров чем в слоте. (Лишние параметры игнорятся)

Необходимо:

1) В сигнале и слоте иметь одинаковые типы параметров.
You could leave a comment if you were logged in.
cppqt.txt · Last modified: 2013/03/21 00:32 by konovalov

Page Tools