按
configure -debug-and-release -fast -static -platform win32-msvc2010 -no-qt3support -script -scripttools -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake demos -nomake examples -nomake docs -mp
编译4.8,然后就可以脱离QtCreator创建项目(直接用vs创建项目,然后加入自己的文件)
需要额外链接的库:
1、必需部分:
#pragma comment(lib,"Ws2_32.lib")
#pragma comment(lib,"winmm.lib")
#pragma comment(lib,"Imm32.lib")
2、QT特定:
#ifdef _DEBUG
#pragma comment(lib,"qtcored.lib")
#pragma comment(lib,"qtguid.lib")
#pragma comment(lib, "QtUiToolsd.lib")
#pragma comment(lib, "qtmaind.lib")
#else
#pragma comment(lib,"qtcore.lib")
#pragma comment(lib,"qtgui.lib")
#pragma comment(lib, "QtUiTools.lib")
#pragma comment(lib, "qtmain.lib")
#endif
一定要加入qtmain*.lib,否则要么带个控制台(console模式),要么一个无法找到的外部链接(subsystem/windows模式,如果设成windows平台,直接指定main作为入口点,程序直接退出。qtmain中应该做些初始化工作,有时间看下)
设置程序的链接方式为MT(Release)MTd(debug)方式
测试例子:
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QFile file("mainwindow.ui");
QUiLoader loader;
QWidget* pMainWindow = loader.load(&file);
pMainWindow->show();
QPushButton* pBtn = pMainWindow->findChild<QPushButton*>("pushButton");
QObject::connect(pBtn, SIGNAL(clicked()), qApp, SLOT(quit()));
pBtn->setText("Quit application");
return app.exec();
}
成功脱离QT,只是生成的文件有些大(D下18M,Release下也将近8M)
Vs2010.