Не работает вышеперечисленная связка. Скачал qt-sdk, создал простой проект:
main.cpp
#include <QWidget>
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.show();
a.exec();
return 0;
}
CMakeLists.txt
project(test)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)
include(${QT_USE_FILE})
set(TARGET test)
add_executable(${TARGET} WIN32
main.cpp
)
target_link_libraries(${TARGET} ${QT_LIBRARIES})
Компилю релиз - все работает отлично.
Компилю под отладку: cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug .
Результат вылетает с ошибкой: Ошибка инициализации приложения 0x000005. ....
В чем могут быть грабли?
Когда делаю qmake проект на этих исходниках, то работает и отладка и релиз.
Версии ПО:
windows xp sp2
cmake-2.6-patch 4
qt-sdk-4.5.2-2009.03
gcc-3.4.5
msys-1.0.11
PS:
когда смотрю с чем слинковано приложение, то cmake-вариант слинкован с QtGuid4.dll, kernel32.dll, msvcrt.dll.
qmake-вариант: QtCored4.dll, mingwm10.dll, QtGuid4.dll, kernel32.dll, msvcrtXX.dll.
Я в начале думал на это, что недолинкованы либы...
Но!, релизовый cmake-вариант тоже слинкован только с QtGui4.dll, kernel32.dll, msvcrt.dll и работает...