【问题标题】:Selective static compilation with QtCreator使用 QtCreator 进行选择性静态编译
【发布时间】:2012-12-25 09:36:52
【问题描述】:

我在 ubuntu 64 位和 Qt4 下使用 QtCreator。

我在一个项目中使用boost::filesystem lib,我想只将这个静态编译成最终的可执行文件,我仍然没有找到采用选择性静态编译的方法或指定的方法Qtcreator,我只希望 boost::filesystem 被静态编译,其他一切都可以是动态的。

######################################################################
# Automatically generated by qmake (2.01a) mar dic 25 07:27:22 2012
######################################################################

QMAKE_CXXFLAGS += -std=c++11 -O3 -DNDEBUG

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += . \
               ~/libs/boost_1_52/include
LIBS += -static -L~/libs/boost_1_52/lib \
        -lboost_filesystem

# Input
SOURCES += main.cpp

我尝试将 static 标志放置在任何地方,但没有结果,甚至是 BdynamicBstatic 标志。

这在 QtCreator 中可行吗?

【问题讨论】:

  • 您应该问的问题是:“是否有可能没有 Qt Creator?”你能想出一个你想要的链接命令吗?因为如果一般来说不可能,那么 Qt Creator(或者更确切地说,qmake)一开始就无能为力。
  • @NikosC。我没有考虑过,因为我只是想为这个项目解决这个问题,所以我没有考虑过。但我认为这应该是可能的。
  • 我不知道除了没有共享库而只有静态库之外的其他方法。如果两者都有,那么链接器将选择共享的,并且似乎无法切换该行为。

标签: qt4 static-libraries qt-creator static-linking


【解决方案1】:

如何直接链接 *.a 文件而不是使用static -L~/libs/boost_1_52/lib -lboost_filesystem ...?

【讨论】:

    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 2015-03-17
    • 2013-08-18
    • 2012-10-23
    • 2011-07-24
    • 2018-03-13
    • 2019-08-10
    • 2023-03-05
    相关资源
    最近更新 更多