• 13581阅读
  • 6回复

[提问]Qt动态库路径问题【已解决】 [复制链接]

上一主题 下一主题
离线195387571
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-19
— 本帖被 XChinux 执行加亮操作(2011-01-21) —
    写了两个项目,一个项目是动态库项目,另一个是运用程序项目。
    +projs
         +plib               //动态库项目
         +papp            //应用程序项目
         +bin
              papp.exe
              plib.dll
              +libs
                                //plib.dll
    运用程序依赖动态库。正常编译,但是动态库必须和程序放在一个目录下。
     我想把动态库放在libs目录下。该如何在程序代码,或者qt工程文件里面指定程序运行时依赖动态库的路径?

     用QApplication::addLibraryPath("./libs")也不成功,我是不是理解错addLibraryPath的意思了?
[ 此帖被195387571在2011-01-19 17:26重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2011-01-19
一般的使用DLL的方法,在程序启动时就要需要这些DLL的,所以最好还是和exe放在同一个目录下吧。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线195387571
只看该作者 2楼 发表于: 2011-01-19
回 1楼(XChinux) 的帖子
U大你好,
       有办法指定其他目录么?
离线XChinux

只看该作者 3楼 发表于: 2011-01-19
那你在启动.exe前要改变环境变量(比如通过一个.bat脚本),或者用.manifest文件,总之不如直接放在一个目录下方便。
Linux下则简单多了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 4楼 发表于: 2011-01-19
况且addLibraryPath()是针对插件目录的吧?!
你的DLL如果是动态加载的(比如通过QLibrary加载)话,那就不用管什么目录的了,直接指定相对路径。
[ 此帖被XChinux在2011-01-19 17:21重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线195387571
只看该作者 5楼 发表于: 2011-01-19
回 4楼(XChinux) 的帖子
看来我真的理解错了。
最后一个问题,能不能在qt工程文件里面,设置gcc的rpath参数呢,我可以不用msvc编译器。
离线195387571
只看该作者 6楼 发表于: 2011-01-19
回 4楼(XChinux) 的帖子
谢谢,大版本
快速回复
限100 字节
 
上一个 下一个