2015-04-23 66 views
0

我(我做不到的Qt的其他版本)工作:QT和升壓:找不到-llibboost_filesystem

  • Qt Creator的2.4.1和4.8.4 QT(使用MinGW編譯)
  • 提升1.52

要建立提升:

  • 我第一次添加了 「C:/Qt/qtcreator-2.4.1/mingw/bin」 我的PATH變量
  • 然後打開命令提示
  • 去 「C:/ boost_1_52」
  • 輸入 「bootstrap.bat mingw的」
  • 然後 「B2工具箱= GCC積累型=完全階段」(這花費很長的時間(約2小時))

我想使用QT創建者與助推庫,但我提出了困難。 我的項目是非常簡單的,這只是基本的QT代碼:

QCoreApplication a(argc, argv) 
return a.exec() 

我只是增加了一些包括:

#include <boost/thread.hpp> 
#include <boost/property_tree/json_parser.hpp> 
#include <boost/asio.hpp> 
#include <boost/timer.hpp> 

在我的.pro文件我已經加入:

DEFINES += BOOST_ALL_USE_LIB 

INCLUDEPATH += C:/boost_1_52 
LIBS += -LC:/boost_1_52/stage/lib \ 
-lboost_system-mgw48-mt-1_52 \ 
-lboost_thread-mgw48-mt-1-52 \ 
-lboost_timer-mgw48-mt-1_52 

#"libboost_system..." needs this library 
LIBS += -LC:/windows_sdk/lib \ 
-lWS2_32 

當我建立我的項目我有兩種'未定義的參考':

  • 一些與它 '線',如:

    undefined reference to `boost::thread::thread()' 
    undefined reference to `boost::thread::joinable() const' 
    
  • 一些看起來像:

    undefined reference to `boost::system::generic_category()' 
    undefined reference to `boost::system::system_category()' 
    

預先感謝您的幫助。

回答

1

問題解決!

幾個星期前,我裝草莓珍珠,其自帶的MinGW 4.8.1 MinGW的附帶的Qt Creator是4.4.0

所以,在我environement變量PATH,我有「C:\草莓\ c \ bin「和」C:\ Qt \ Qt creator \ mingw \ bin「

當我建立boost時,它一定使用了它能找到的最新版本的MinGW,這是草莓。

這就是造成我所有問題的原因,我重建了來自Qt創建者的MinGW,並且一切正常!

我沒有對我的館藏名稱中的「mg48」給予足夠的重視

2

試試這個。

LIBS += "-LC:/boost_1_57_0/libs/" \ 
+1

我忘記更新我的問題,但我解決了一些錯誤。最後,我不需要「libboost_filesyste ...」,所以我刪除了關於它的部分。 「libboost_system ...」需要windows SDK中的「WS2_32」,所以我將它與「WSAStartup」,「WSACleanup」等錯誤聯繫起來......消失了。 我仍然有兩種類型的未定義引用: - 一些與它「線」狀「imp__ZN5boost6thread4joinEv」 - 一些看起來像「的boost ::系統:: generic_category()」 我添加了「libbost_thread。 ..「庫,但沒有幫助。 我會更新我的問題 – zarachbaal