我正在开发一个应该在Qt中编写GUI的项目。我在考虑使用QtCreator作为开发IDE,但是我遇到了一些问题。该项目应该有一个dll文件,它不应该依赖于任何qt库/模块,它应该只使用winapi,它应该用x86和x64编译。所以我的问题是:
这是我与Qt的第一个项目,我不是C ++大师,所以请尽可能详细地描述细节:-) 非常感谢您的帮助。
更新
好吧,我试着像Berk建议的那样编译项目,但我还是有问题。输出依赖于LIBGCC_S_DW2-1.DLL和MSVCRT.DLL。是否可以删除对LIBGCC_S_DW2-1.DLL的依赖,并在我的exe / dll中链接MSVCRT.DLL(就像MS VC一样)。
答案 0 :(得分:1)
您可以将Qt Creator用作纯C ++ IDE。它支持通用项目(qtcreator项目),cmake和qmake。
CONFIG -= qt
标志添加到qmake项目文件中。我推荐qmake方法。您将获得有关Qt Creator的基于qmake的项目的最佳体验。
您可以通过Qt Creator的界面进行操作。您需要先定义两个编译器。
修改强>
正如我可以看到这些依赖关系,你的qmake是由mingw编译的。这些是mingw的依赖。所以你无法避免LIBGCC_S_DW2-1.DLL
使用mingw。所有依赖于Qt的dll都命名为Qt * .dll。因此,您的库未与任何Qt库链接。
您需要使用Microsoft Visual C ++编译器。
对于基于qmake的项目,Qt Creator从检测到的Qt目录中确定编译器,链接器信息。如果你的Qt版本是用mingw编译的,它也会为你的项目使用mingw。如果需要使用其他编译器进行编译,则有2个选择:
第一个对基于Qt的项目至关重要。如果你还要编译基于Qt的部件。我认为你应该用MSVC编译器(-mkspec win32-msvc20xx
)编译Qt。然后,您可以将新的编译器目录添加到Qt版本(选项 - > Qt)并使用它。这很容易。
但是如果你不使用任何Qt部件。编译qt不是一个好选择。在Qt Creator中为项目创建新的构建配置,并设置/覆盖一些变量。 (您需要覆盖qmake的spec命令切换到win32-msvc20xx,然后您需要将MSVC编译器路径添加到环境变量。还需要覆盖所有构建步骤的make命令到nmake或jom)
正如你所说,你的项目的GUI是用Qt编写的。第一种方法对你来说会更好。