簡體   English   中英

無法構建Boost 64位動態庫,只能構建靜態

[英]Can't build Boost 64 bit dynamic libraries, only static

我最近通過Dreamspark獲得了Visual Studio 2010,所以我現在可以編譯64位應用程序和庫。 然后我用Bjam使用以下行編譯Boost 1.47庫以進行輸入。

.\b2 -a -d 0 -q -j 4 -d 0 --variant=debug,release --link=shared,static --threading=multi --address-model=32 --toolset=msvc-10.0

當我這樣做時,我得到每個庫中的4個(靜態調試,動態調試,靜態釋放,動態釋放)。 編譯完成后,我將它們移動到另一個名為win32libs的目錄中。 然后,我使用完全相同的行來編譯64位版本,但是將地址模型切換為64(我知道它們幾乎完全相同,因為我從我制作的相同文本文檔中復制和過去,以便編譯它們很容易)。 當我在64位編譯后進入我的stage目錄時,我只看到.lib,沒有.dll。 這是我正在做什么的問題,或者在某種程度上,不支持64位dll?

謝謝

更改Boost編譯方式的選項(與僅控制b2執行的選項相反)稱為“features”,並且不能在命令行上使用破折號。 在您的示例中,功能包括:

  • 變種
  • 鏈接
  • 穿線
  • 地址模型
  • 工具集

它生成的庫將根據Windows上Boost庫命名方案命名 lib * .lib是靜態庫; 其他* .lib是相應DLL的導入庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM