2013-10-22 61 views
0

我有提振有關這個連接錯誤鏈接:鏈接錯誤:無法找到庫與

error: cannot find -lboost_program_options-mgw44-mt-1_54 
error: collect2: ld returned 1 exit status 

這是提高有關Qt的親文件的一部分:

BOOST_VERS = 1_54 
COMPILER = mgw44 

INCLUDEPATH += $$BOOST_ROOT/boost 
QMAKE_LIBDIR += $$BOOST_ROOT/stage/lib 

LIBS += -lboost_program_options-$$COMPILER-mt-$$BOOST_VERS 
LIBS += -lboost_thread-$$COMPILER-mt-$$BOOST_VERS 
LIBS += -lboost_system-$$COMPILER-mt-$$BOOST_VERS 

BOOST_ROOT是一個設置爲C:\ Boost_1_54_0的環境變量。

由於Boost似乎安裝正確(圖書館在那裏),我做錯了什麼?

系統:
- Windows 7的
- MinGW的4.4
- 升壓1.54.0
- QMAKE/Qt Creator的

+1

它尋找的庫文件是否真的存在? – benjymous

+0

你忘了問一個問題。 –

+2

特別是C:\ Boost_1_54_0 \ stage \ lib有一個boost_program_options-mgw44-mt-1_54(.dll,或.lib或... no extension?)文件嗎? – doctorlove

回答

1

QMAKE_LIBDIR

此變量包含所有已知庫的位置目錄。 該變量的值通常由qmake或qmake.conf 處理,很少需要修改。

請嘗試做這樣的:

win32-g++* { 
    LIBS   += $${BOOST_ROOT}/stage/lib/libboost_system-$${COMPILER}-mt-$${BOOST_VERS}.a 
    PRE_TARGETDEPS += $${BOOST_ROOT}/stage/lib/libboost_system-$${COMPILER}-mt-$${BOOST_VERS}.a 
} 

linux-g++* { 
    LIBS   += -L$${BOOST_ROOT}/stage/lib -lboost_system-$${COMPILER}-mt-$${BOOST_VERS} 
    PRE_TARGETDEPS += $${BOOST_ROOT}/stage/lib/libboost_system-$${COMPILER}-mt-$${BOOST_VERS}.a 
} 
0

被BOOST_ROOT的環境變量,它必須這樣來使用:

$$(BOOST_ROOT) 

而且BOOST_VERS必須用作:

$${BOOST_VERS}