Boost test vs2013 fatal error C1001
在Visual Studio 2013中使用boost的test模块时会报致命错误,如下图所示:
输出报错信息如下:
1>------ Build started: Project: Test, Configuration: Debug Win32 ------
1> main.cpp
1>d:\boost_1_70_0\boost\type_traits\common_type.hpp(47): fatal error C1001: An internal error has occurred in the compiler.
1> (compiler file 'msc1.cpp', line 1325)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
定位到报错文件是common_type.hpp:
可以看出是因为CXX11的原因,因为VS2013不支持C++11,所以boost提供了一个宏定义来设置是否支持CXX11:
BOOST_NO_CXX11_TEMPLATE_ALIASES
在Project->Properties->C/C++->Preprocessor中设置即可: