我正在运行的情况下,我安装了两个不同版本的Qt,使用mingw编译,另一个使用visual studio编译。 现在,当我使用Qt MinGW版本编译我的程序并运行它时,我收到一条消息,其中包含乱码文本,说没有加载任何必要的Qt模块。 我的问题是,如何使用C ++为我的应用程序设置Qt基本模块的路径。我查看了文档并找到了addLibraryPath方法,但它似乎只适用于Qt插件。
答案 0 :(得分:0)
修改强>
似乎我误解了这个问题,因为SIFE评论说他需要加载Qt模块(比如QtGui4.dll),而不是插件。插件的答案留在这里,以防它可能对某人有帮助。
<强>插件强>
默认情况下,Qt会加载SDK/plugins
中的插件。问题是,它首先发现了错误的SDK ......
如果我没记错,Qt首先在目录.
中搜索。因此,您可以复制msvc编译的exe附近复制的msvc的* .exe:plugins附近的'plugins'目录,以及gcc编译的exe附近的gcc插件。
如果您不想复制plugins
目录,可以使用setLibraryPaths(未经测试,但可能有效)
最后但同样重要的是,您还可以使用qt.conf方法。
<强>模块强>
模块不是动态加载的,因为它们是应用程序依赖项的一部分,因此它们在exe启动时加载,而不是通过LoadLibrary加载。因此,解决方案很简单:只需将dll复制到与包含* .exe
的文件夹相同的文件夹中答案 1 :(得分:0)
关于编译器,正确的库/包含设置应由QMake完成。 QMake使用Qmake所属的同一版本中的库创建makefile / VS-Project。
尝试使用每个Qt-Version明确的完整路径调用QMake 例如
c:/myQtMinGwProject>c:/Qt4_mingw/bin/qmake
c:/myQtVSProject>c:/Qt4_VS2008/bin/qmake -t vcapp
关于运行时,请确保相应版本的dll在PATH中
我希望它有所帮助