visual studio 2005上写的Qt在其他机子上的运行(非静态)

示例代码如下:

#include <QtGui/QApplication> #include <QtGui/QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); } 

注:若include不想要将QtGui等加进来,可以将/include/QtGui也包含在vs中设置的vc++目录设置那,其他文件夹也一样。

Build之后生成的exe文件在其他机子上运行的时候,

把Qt和vs相应的运行库放到exe同目录下即可。

Debug版本的exe要求如下:

Microsoft.VC80.DebugCRT.manifest 
msvcp80d.dll 
msvcr80d.dll 
msvcm80d.dll

(以上四个文件在C:/Program Files/Microsoft Visual Studio 8/VC/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT目录下,注意manifest文件必须有,这个为清单文件)

QtGuid4.dll

QtCored4.dll等Qt相关的debug的dll文件

Release版本的exe要求如下:

Microsoft.VC80.CRT.manifest 
msvcp80.dll 
msvcr80.dll 
msvcm80.dll 

(以上四个文件在C:/Program Files/Microsoft Visual Studio 8/VC/redist/x86/Microsoft.VC80.CRT,manifest也必须存在)

QtGui4.dll

QtCore4.dll等Qt相关的Release的dll文件

配置完以上,一般就可以在其他机子上运行了,如果不行的话,

1.可以通过vs的一个工具Dependency Walker,可以查看exe文件运行的时候需要加载那些dll文件,据此找到这些文件放到同目录下既可。

2.或者在vs里“启动调试”,然后根据下面的输出窗口看下该程序加载了那些dll文件,接下来同上。

 

 

静态编译的还没有弄,有空了去重新configure出个static版本的Qt Library,又是万恶的等待。。。。

 

 

你可能感兴趣的:(dll,Build,exe,qt,include,library)