2012-12-25 36 views
0

我在QtCreator下的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中可能嗎?

+0

你應該問的問題是:「沒有* Qt Creator可能嗎?」你能想出一個你想要的鏈接命令嗎?因爲如果一般情況下不可能的話,那麼Qt Creator(或者說qmake)不能對它做任何事情。 –

+0

@NikosC。我沒有想過,因爲我試圖爲這個項目解決這個問題,但我沒有想過這個。但我認爲這應該是可能的。 – user1797612

+0

我不知道有一種方法來做到這一點,除了沒有共享庫,而只有一個靜態的庫。如果兩者都有,那麼鏈接器會選擇共享的,並且似乎無法切換該行爲。 –

回答

0

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