针对非二进制库的静态链接

Static linking against non-binary libs

我想在 OS X 上使用两个库 QCustomPlot and Eigen 和 Qt Creator。 如果我只是将它们放入我的项目文件夹并将它们添加到项目中,则两者都不需要安装并且可以正常工作。它们不必安装,"you can use the header files right away".

但是我希望它们比这更独立,位于项目之外以供其他项目使用,我不希望它们的头文件和源文件与我的项目文件一起出现。但是我不知道如何静态地 link 它们。

显然行不通,第二个是因为它们没有要打开的库文件。 我没有使用图书馆的经验,并且倾向于发现这个主题非常复杂。

如注释中所述,对于仅包含库的模板,INCLUDEPATH 应该足够了。通常,您可以通过手动修改 YourProject.pro 文件来完成,例如:

LIBS += -L$$PWD/path_relative_to_pro_file/lib -lmylibfile1 -lmyflibfile2
INCLUDEPATH += $$PWD/path_relative_to_pro_file/lib/include

并且您的库文件名以 .lib 结尾。 如果您希望由于外部库更改而重新编译您的项目:

DEPENDPATH += $$PWD/path_relative_to_pro_file/lib
DEPENDPATH += $$PWD/path_relative_to_pro_file/lib/include