在Qt项目中引用库的最简单方法是什么?

Jak*_*les 3 qt shared-libraries project-files

我有两个Qt4 Gui应用程序项目和一个共享库项目,所有项目都在带有"subdirs"模板的.pro文件下引用.所以,它就像:

  • exampleapp.pro
    • app1.pro
    • app2.pro
    • sharedlib.pro

现在,我想要做的是从app1和app2引用sharedlib,这样每次运行app1.exe时,我都不必手动将sharedlib.dll从其自己的文件夹复制到app1.exe的文件夹.

我可以在项目窗口中设置PATH环境变量,但这不是很便携.我已经看过把LIBS变量放在app1.pro文件中,但是我不确定它是否只引用了静态链接的库 - 我用各种语法尝试了它,它似乎不适用于共享库.

jor*_*ysp 5

您可以按如下方式组织项目:

  • PROJECT1
    • 箱子
    • LIB
    • APP1
      • app2.pro
    • APP2
      • app2.pro
    • sharedlib
      • sharedlib.pro

在sharedlib.pro中可以添加如下内容:

TEMPLATE = lib
TARGET = sharedlibr
QT + = core \
      gui
DESTDIR = .. / lib
Run Code Online (Sandbox Code Playgroud)

DESTDIR:保证将编译结果复制到"../lib"位置

对于应用程序app1和app2:

TEMPLATE = app
TARGET = app1
QT + = core \
      gui
DESTDIR = .. / bin
Run Code Online (Sandbox Code Playgroud)

这仅适用于开发,在创建安装程序时,库和可执行文件放在适当的目录中,具体取决于操作系统.