【发布时间】: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 标志放置在任何地方,但没有结果,甚至是 Bdynamic 和 Bstatic 标志。
这在 QtCreator 中可行吗?
【问题讨论】:
-
您应该问的问题是:“是否有可能没有 Qt Creator?”你能想出一个你想要的链接命令吗?因为如果一般来说不可能,那么 Qt Creator(或者更确切地说,qmake)一开始就无能为力。
-
@NikosC。我没有考虑过,因为我只是想为这个项目解决这个问题,所以我没有考虑过。但我认为这应该是可能的。
-
我不知道除了没有共享库而只有静态库之外的其他方法。如果两者都有,那么链接器将选择共享的,并且似乎无法切换该行为。
标签: qt4 static-libraries qt-creator static-linking