vs2010boost庫編譯
❶ win7下為VS2010安裝boost庫 命令行運行bootstrap.bat時提示failed to build Boost.Build engine
可能是安裝的boost庫版本不對,試試其他版本的吧
❷ 急 求用vs2010編譯好的boost庫include和lib
你好,
你要用boost的什麼功能?boost的大部庫都是模板的,不需要編譯,直接從官網上下載,用它的頭文件就行了。
如果你需要的話,請到如下鏈接下載boost_1_59_0-msvc-10.0-32.exe:
https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0/
謝謝,望採納
❸ 關於C++ Boost編譯問題
理論上是需要的,因為vs2005和vs2010的編譯器版本不一樣,產生的鏈接庫也會不一樣。
❹ windows怎麼在控制台編譯boost程序
Boost庫是一個功能強大、構造精巧、跨平台、開源並且完全免費的C++程序庫
要使用Boost庫,首先確認一下你使用的開發環境是否支持編譯boost庫(http://www.boost.org/users/history/version_1_46_1.html)
以windows的msvc編譯器為例,支持編譯boost庫是Visual C++: 7.1, 8.0, 9.0 10.0
如果你還在用VC++ 6.0的話,只能抱歉了。VC6編譯器由於不支持模板偏特化等許多新特性,所以有的Boost庫會缺少功能甚至不能使用。
安裝Boost庫的方法:
1、從Boost網站(www.boost.org)下載壓縮包,解壓到本地硬碟任意位置。
本文以boost_1_46_1版本為例,解壓位置為 D:\boost_1_16_1\
2、進入目錄D:\boost_1_16_1\,運行bootstrap.bat,獲得bjam.exe 程序
3、命令行方式執行: bjam stage --toolset=msvc-7.1 --build-type=complete --layout=versioned
其中,
stage 選項指定boost使用本地構建,當前目錄下會創建一個stage目錄,編譯後的lib庫會在其中。
toolset 選項指定編譯器,對於使用visual studio 開發工具的程序員來說,需要正確填寫msvc的版本號:
vs2003 : msvc-7.1
vs2005 : msvc-8.0
vs2008 : msvc-9.0
vs2010 : msvc-10.0
build-type 選項指定編譯類型,
layout 選項指定需要編譯的庫名及頭文件的地址目錄名的生成策略。默認Windows下為versioned
接下來你可以關上顯示屏去做別的事了,因為Boost庫的完整編譯會耗費大量的時間(本人在pc上花了約1個小時時間)。
完整編譯後,需要在visual studio IDE 中設置包含目錄和庫目錄。
Windows Visual Studio 200x IDE 通用配置
=======================================
在菜單中選擇:
1. Tools (工具)
2. Options (選項)
3. Project and Solutions (項目)
4. VC++ Directories (VC++ 目錄)
5. Show directories for (顯示以下內容的目錄): Include Files (包含文件) 增加 D:\boost_1_46_1
6. Show directories for (顯示以下內容的目錄): Library Files (庫文件) 增加 D:\boost_1_46_1\stage\lib
如果是Visual Studio 2010,不再是從tools->options->project and solutions->VC++ directories 中配置庫目錄和包含目錄,而是對自己的項目單獨配置。
先添加/導入自己的項目,在窗體左側項目的屬性管理器中
1.單擊第一個按鈕(屬性),彈出項目屬性頁
2.選擇配置屬性->VC++目錄
3.包含目錄中增加 D:\boost_1_46_1
4.庫目錄中增加 D:\boost_1_46_1\stage\lib
OK,一切准備就緒。可以開始使用Boost庫了。下面的一個小程序可以測試一下boost庫是否安裝正確。
#include <boost/thread/thread.hpp>
#include <iostream>
void hello() {
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main(int argc, char* argv[]) {
boost::thread thrd(&hello);
thrd.join();
return 0;
}
正確安裝的話,會在控制台輸出一行"Hello world, I'm a thread!"的信息。
完整編譯Boost庫費時費力,而且也不一定在開發中都用到,所以也可以自行選擇要編譯的庫。
只要在運行bjam的命令中,添加--with-<庫名> 選項就可以了,或--without-<庫名>關閉某個庫的編譯。
bjam還有許多選項,可參考bjam的文檔以獲得更多信息。
❺ 用vc2010編譯帶有boost的項目出錯,不明確符號
boost的一些庫,比如share_ptr已經被高版本的stl採納了.如果你一塊兒用編譯器當然搞不清你要用那個了.我想你肯定寫了這樣的東西
using namespace std;
using namespace tr1;
using namespace boost;
實際上兩個智能指針是一樣的,你只需要用一個即可.如果你一定要兩個都用,那麼不要寫上面的語句.而是應該寫std::tr1::xxxx, boost:xxxx
❻ 在通過vs2010使用boost的date_time庫時出現 error C2039: 'nullptr_t' : is not a member of 'stlpd_std'
1.5.3版本的boost 增加了對nullptr的定義,這是在1.4.7版本中沒有的。而且依賴於STL中對nullptr_t的定義,但是STLport5.2.1版本中沒有引入空指針的類型,這是C++11的新標准。要學最新的boost庫,還是使用微軟本身的STL吧,雖然被噴成渣,但總比沒有review的代碼要厲害。
❼ 如何用Visual Studio 2010編譯boost1.42庫
64位windows平台,編譯環境是VS2005,進入Visual Studio 2005 x64 Win64 Command Prompt(單純的cmd也不一定不行,我沒試)。把bjam.exe放在boost根目錄下,進入根目錄,執行:
bjam --toolset=msvc address-model=64 --with-thread stage
bjam --toolset=msvc address-model=64 --with-date_time stage
關鍵選項:「address-model=64 」
64位linux平台,使用gcc編譯。進入boost根目錄,執行:
./bjam --toolset=gcc --with-thread stage
./bjam --toolset=gcc --with-date_time stage
linux平台下倒是簡單,不過網上有篇文章介紹用如下命令編譯,不知道是多此一舉,還是適用於某些情況(非64位linux主機?)。
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-thread stage
./bjam --toolset=gcc "-sBUILD=release <cxxflags>-m64" --with-date_time stage
唉。命令都很簡單,可浪費了我不少時間。usage根本沒寫,去看boost build的嘛,頁數n多不說,看完之後能否找到答案還是未知數。網上相關資料很少而且大多南轅北轍,只好一直搜索+嘗試。其實我只是想要個64位版本的庫而已,這應該不是啥稀罕的需求吧?
在windows平台下,編譯出來的是否是64位類庫,只有link 64位程序的時候才能發現。如果不是,link程序無法找到類庫中定義的函數或者類。linux不知道,因為我整出來直接就是64位了,我也懶得再找一台32位linux主機折騰了。
在1.37之後的boost,如果想要使用boost::thread庫,必須有boost::date_time庫。當然這件事情又一如既往很酷地沒有出現在容易看到的地方。而是讓你鏈接錯誤後再去玩抓蟲游戲。
❽ 安裝了多個版本vs怎麼編譯boost
boost有些庫是不用安裝的,僅需包含頭文件庫就行了。
但是有些很爽的庫(thread,regex)需要根據不同的系統做不同的調整,所以必須編譯。
編譯的流程很簡單,如果是windows操作系統,首先找到那個booststrap.bat的東西,然後在控制台下運行它,它會生成bjam.exe,然後就可以通過bjam來編譯boost庫了,在命令行下輸入bjam --help看選項。
如果嫌麻煩,可以一次將boost庫需要編譯的全部編譯了,bjam --build-type=complete,生成庫全在stage目錄下。
❾ win7下vs2010編譯boost怎麼配置stlport
一、安裝cmake
1、這一步比較簡單,下載安裝最新版本cmake-2.8,開始如下安裝
2、注意這里選擇第二個選項,為所有的用戶添加系統變數
3、選擇安裝到目錄 F:\CMake 2.8,個人建議最好安裝在C盤目錄下。
4、安裝完畢後確認一下系統變數中有沒有紅色框中的目錄,若沒有需要手動添加進去。
5、cmake安裝完畢!
二、安裝Boost庫
1、下載最新版本,當前為boost_1_55_0
2、按 Win+R組合鍵輸入cmd進入命令窗口:
切換當前目錄為boost的安裝目錄(G:\boost_1_55_0),輸入bootstrap.bat
3、執行完上述命令後會在安裝目錄下生成如下exe文件
4、繼續在DOS窗口中輸入bjam.exe,程序會根據你當前安裝的編譯環境(vs2010,vs2012,vs2013)等自動選擇與之相適應的庫文件和包含文件等。
此過程大概需要20分鍾左右。根據下面第二個圖片可以算出我的編譯環境為MSVC-12.0即VS2013.
5、20分鍾左右後可以看到如下界面,說明Boost庫配置完成
三、安裝CGAL
1、下載CGAL,這里我下載的是CGAL-4.4這個版本(當前最新的)
2、安裝位數選擇32位
如果選擇64位進行安裝,則會在以後配置完畢後出現類似「無法識別的外部符號。。。」等問題,很難進行正確配置。所以這里最好全部選擇32位進行安裝。
3、安裝目錄我選擇C:\Program Files\CGAL-4.4
安裝在其他目錄時可能會出現用Cmake編譯時出現好幾外錯誤。可以嘗試通過安裝在C盤進行解決。
4、選擇如下幾項,單擊下一步
5、安裝完成後可能會出現如下提示,則需要手動添加F:\CGAL-4.4\auxiliary\gmp\lib到Path變數中
6、此時CGAL安裝完成
四、用Cmake配置CGAL庫
1、打開Cmake軟體選擇如下目錄,註:兩個目錄是相同的
2、單擊「config"-選擇如下編譯器(默認是32位,與前面安裝軟體一定要保持一致)
3、單擊確定後,出現如下界面說明配置成功
4、找到如下圖的這一項,選中,再次單擊"config"進行配置
5、單擊Generate,此時界面應如下。
6、此時在CGAL安裝目錄下出現如下文件:CGAL.sln
7、打開此文件,此時編譯器會自動組建一個解決方案。如下圖
8、選擇32位debug模式,按F7進行編譯,編譯完成後如下圖所示,表明CGAL至此完全配置成功。
五、舉例測試CGAL
新建一個控制台應用程序,並添加如下代碼
#include <iostream>
#include <boost/format.hpp>
#include <QtGui>
#include <CGAL/Qt/GraphicsViewNavigation.h>
#include <QLineF>
#include <QRectF>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QGraphicsScene scene;
scene.setSceneRect(0,0, 100, 100);
scene.addRect(QRectF(0,0, 100, 100), QPen(QColor(255,0,0)));
scene.addLine(QLineF(0,0, 100, 100));
scene.addLine(QLineF(0,100, 100, 0));
QGraphicsView* view = new QGraphicsView(&scene);
CGAL::Qt::GraphicsViewNavigation navigation;
view->installEventFilter(&navigation);
view->viewport()->installEventFilter(&navigation);
view->setRenderHint(QPainter::Antialiasing);
view->show();
return app.exec();
}
添加包含庫目錄,操作如下圖,注意紅色框中的添加內容
添加附加庫目錄,操作如下圖,注意紅色框中的添加內容