如何为自定义Qt应用程序设置库路径

时间:2012-09-10 22:30:28

标签: c++ visual-studio-2010 module qt4 mingw

我正在运行的情况下,我安装了两个不同版本的Qt,使用mingw编译,另一个使用visual studio编译。 现在,当我使用Qt MinGW版本编译我的程序并运行它时,我收到一条消息,其中包含乱码文本,说没有加载任何必要的Qt模块。 我的问题是,如何使用C ++为我的应用程序设置Qt基本模块的路径。我查看了文档并找到了addLibraryPath方法,但它似乎只适用于Qt插件。

2 个答案:

答案 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中

我希望它有所帮助