我試圖使用'Building Boost.Locale'指令來構建Boost :: Locale(Boost版本1.56)。首先,我成功地安裝了完整的Boost庫在幾個月前,這造就了一批的Boost ::區域設置的.dll & .lib文件:無法在Visual C++ 2013上使用ICU 53.1構建Boost :: Locale
boost_locale-vc120-mt-1_56.dll
boost_locale-vc120-mt-1_56.lib
boost_locale-vc120-mt-gd-1_56.dll
boost_locale-vc120-mt-gd-1_56.lib
今天,我下載ICU4C 53.1和建造它(調試和發佈)。我添加了以下目錄到我的電腦路徑:
d:\icu\bin
接下來,我跑了ICU測試,他們跑得很好。
然後我試圖提振::區域設置與ICU鏈接,並沒有如語言環境的安裝方向,結果顯示:
在命令提示符下,我輸入:
.\bjam -sICU_PATH=d:\icu --with-locale stage
它表示,它在屏幕上建立並顯示 '... ...耐心,發現1214倍的目標......'
這裏是d的結果:\ boost_1_56_0 \ bin.v2 \的config.log:
...found 1 target...
...updating 1 target...
config-cache.write bin.v2\project-cache.jam
...updated 1 target...
此時,我不知道'target'是什麼更新的,所以我創建了一個小測試應用程序,使用get_all_backends()來查看支持的後端。不幸的是,只有winapi和std被列出。
有人可以提出什麼可能會出錯嗎?
UPDATE
在開放區域設置果醬文件:
searched-lib icudt : : <search>$(ICU_PATH)/lib
<name>icudata
<link>shared
<runtime-link>shared ;
我不知道這一點,但上面的代碼段是指icudt,我注意到該DLL文件具有的版本附加ICU,即:icudt
我要更新引用以匹配附加版本,即:icudt53,看看會發生什麼。
我也有一些麻煩建設boost :: locale 1.57.0與ICU 54.1。在使用-sICU_PATH和運行bjam指定目錄後,我收到一條消息:「正在執行配置檢查... icu:no,icu(lib64):no」就像它沒有檢測到庫...我會嘗試重建整個庫,而不是隻是boost :: locale,看看它是否有任何區別 – ChrisPeterson 2015-01-26 08:10:40
@ChrisPeterson,指定sICU_PATH並構建整個庫是它爲我工作的唯一途徑。確保你有預先建立的ICU。我已經多次在PC上做過這樣的事情,它絕對有效。 – 2015-01-26 15:39:35