簡體   English   中英

為Visual Studio 2017構建Boost 1.64

[英]building boost 1.64 for Visual Studio 2017

我無法在VS2017中使用Boost 1.64庫。 像這樣編譯:

b2 toolset=msvc-14.1 --build-dir=.x86 --stagedir=stage_x86

在工作室中,我得到了這樣的錯誤:

Error   unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAABVerror_category@12@XZ)

我不知道現在該怎么辦。 我嘗試編譯並使用64位。 ->出現了相應的錯誤。 好。 我這樣編譯:

b2

完全一樣的錯誤。

Error   unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAABVerror_category@12@XZ)

所有項目鏈接器選項:

/OUT:"E:\Yandex.Disk\Projects\OS\Release\OS.exe" /MANIFEST /LTCG:incremental /NXCOMPAT /PDB:"E:\Yandex.Disk\Projects\OS\Release\OS.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG:FULL /MACHINE:X86 /OPT:REF /SAFESEH /INCREMENTAL:NO /PGD:"E:\Yandex.Disk\Projects\OS\Release\OS.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\OS.exe.intermediate.manifest" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"E:\boost_1_64_0\stage_x86\lib" /TLBID:1 

據我了解,Microsoft為簡化VS2017部署所做的更改已導致Boost Build如何檢測構建Boost所需的工具集的嚴重問題。 我的猜測是,這是在阻止官方支持和/或引起問題。 截至2017年4月,很明顯檢測VS2017仍然存在問題-例如,參見https://github.com/boostorg/build/issues/157http://boost.2283326.n4.nabble.com/VS2017- release-vswhere-exe-td4693141.html#a4693313 一線希望是,Microsoft知道並且似乎致力於解決此問題。 參見https://lists.boost.org/Archives/boost/2017/04/234552.php

在線信息表明使用Powershell可以進行工作,但是至少可以說是不平凡的。 建議大家等待討論后進行討論,並為Microsoft解決Boost 1.65.0的緊急情況。 我尚未親自嘗試此操作( notNeeded & notEnoughTime ),但是我對解決方案非常感興趣,如果看起來可以解決此問題,它將再次進行更新。

暫無
暫無

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

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