如果我发布了在QT框架中构建的程序:
1)如何找到我需要包含的DLL
2)我是否必须包含DLL,或者是编译到EXE中的代码
程序非常简单,只是一个带有两个文本框和一个按钮的界面。
我只是不想在QT DLL中有5MB的100KB EXE文件。
答案 0 :(得分:1)
除非您静态链接(这需要一个静态Qt,您需要从源代码构建),否则您需要提供DLL。
要找出需要哪些DLL,可以使用Dependency Walker之类的东西,或者在生成的Makefile中编译/时检查链接行。
通常是QtCore,QtGui以及.pro文件中明确配置的任何内容,例如CONFIG += xml
,CONFIG += webkit
或CONFIG += network
等。
我希望在每种情况下都有几MB,即使你自己的代码只有几KB(它只有几KB,因为Qt完全解决了所有繁重的问题)。
答案 1 :(得分:0)
如果将静态库链接到可执行文件中,则不需要DLL。
如果将共享库链接到可执行文件,则需要DLL。
如果查看命令行并分别查看/ MT或/ MD中的静态和共享,可以告诉您正在编译哪些。
如果许可证允许您包含静态库,那通常是一个更简单的解决方案。