如果存在动态和静态版本,如何告诉qmake使用静态库?

时间:2012-04-02 03:22:25

标签: c++ linker qmake

我在/usr/local/lib中安装了静态和动态版本的Boost,即libboost_system.dyliblibboost_system.a都存在。

在我的qmake项目文件中,我已将Boost库添加到链接器,如下所示:LIBS += -lboost_system

我是否可以告诉qmake在没有明确说明文件名的情况下更喜欢静态版本,以便我可以减少qmake代码的数量以在所有平台上获得静态链接?

2 个答案:

答案 0 :(得分:0)

我没有使用qmake,但是有一种方法可以通过将-static标志放到链接器来使gcc链接到静态库。您要静态链接的所有库应放在此标志之后。

我搜索了qmake的文档,发现您可以通过更改变量QMAKE_LFLAGS来修改链接标记,或者可以直接将此标记添加到LIBS < / p>

答案 1 :(得分:0)

似乎这实际上是不可能的,指定库的绝对路径是一个更好的解决方案(即CMake默认如何做到这一点)。