如何編譯64位 64bit boost類庫

2021-05-23 14:44:05 字數 1019 閱讀 1850

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 -m64" --with-thread stage

./bjam --toolset=gcc "-sbuild=release -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庫。當然這件事情又一如既往很酷地沒有出現在容易看到的地方。而是讓你鏈結錯誤後再去玩抓蟲遊戲。

編譯64位dcmtk庫

用最新版的cmake生成原始碼專案,此處開發環境為win7x64的vs2012,注意在編譯選項中選擇 visual studio 11 2012 win64 必須選擇帶有 win 64 的一項!切勿選擇第三方庫,即 dcmtk 3.6.0 win32 i386 support md 裡的png xm...

用Visual Studio 編譯64位程式

由於硬體的公升級,目前伺服器處在乙個從x86到x64的過渡時期。如果用vs2008在x64位機上編譯程式,有時候會遇到 試圖載入格式不正確的程式 的錯誤資訊。如下圖所示 幾乎可以肯定是遇到了 x86和 x64位 dll混編的錯誤。所謂 x86和 x64位 dll混編 是指 32位程式集與 64位程式...

用Visual Studio 編譯64位程式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!由於硬體的公升級,目前伺服器處在乙個從x86到x64的過渡時期。如果用vs2008在x64位機上編譯程式,有時候會遇到 試圖載入格式不正確的程式 的錯誤資訊。如下圖所示 幾乎可以肯定是遇到了x86和x64位dll混編的錯誤。所謂 x86和x64位d...