尝试在Windows 8.1上编译boost库时,我收到此错误:
error C2039: 'int32_t' : is not a member of '`global namespace''
来自boost\cstdint.hpp
这就是我的所作所为:
bootstrap.bat
b2 toolset=msvc --build-type=complete stage
有谁知道原因可能是什么以及如何解决?
答案 0 :(得分:0)
我有一个类似的问题,用Visual Studio 2010编译Boost 1.56.0 Regex库的新解压缩:
...\VC\INCLUDE\cwchar(33) : error C2039: 'wcscat' : is not a member of '`global namespace''
事实证明我无意中修改了我的VS2010 VC\include
文件夹下的一些核心包含文件。某些文件在解决方案的替换文件期间已被修改。
我使用Win7 以前的版本标签来恢复原始文件,现在它编译得很好。
当你对核心库文件进行写访问时会出现此问题,例如
C:\Program Files
或C:\Program Files (x86)
以外的位置安装了Visual Studio。这些标准位置具有特殊的默认文件和文件夹安全性(访问控制列表),可防止以受限用户身份运行时出现此类错误。(我的问题是由于后者;我已经将更多限制性文件和文件夹ACL应用于我所有与应用程序相关的定制文件夹,以便在作为受限用户运行时保护我。)