Я пытаюсь построить Facebook безрассудство в Visual Studio 2015 RC свободно, следуя инструкциям, содержащимся здесь: https://github.com/jbandela/folly/tree/vc11Визуальные ошибки Студия Вкомпилировать станд библиотеки
Я надеюсь, что с 2015 по расширенной поддержке C++ 11 я могу имеют более легкое время, чем это было возможно раньше. Я работаю над проблемами на достойном клипе, но в настоящее время я получаю набор ошибок компиляции, которые мне не имеют смысла. Вот вершина выхода компиляции с первой ошибки:
2>------ Build started: Project: folly, Configuration: Debug Win32 ------
2> pch.cpp
2> Unknown compiler version - please run the configure tests and report the results
2>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(26): error C2143: syntax error: missing ',' before '<'
2>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(26): error C2143: syntax error: missing ',' before '<'
Вот источник приносит мне расположения этой ошибки, снова в xstring в станд имен:
template<class _Mystr>
class _String_const_iterator
: public _Iterator012<random_access_iterator_tag, // <---- line 26
typename _Mystr::value_type,
typename _Mystr::difference_type,
typename _Mystr::const_pointer,
typename _Mystr::const_reference,
_Iterator_base>
{
Другой пример ошибки я получаю:
C2039 'exception': is not a member of 'std' folly c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdexcept 27
источник:
class logic_error
: public _XSTD exception
{
Я смущен тем, как эти и другие ошибки могут возникнуть в отношении самой библиотеки std. Я обычно строю из Linux/g ++, поэтому я не знаком с средой сборки Visual Studio. Возможно, я что-то делаю неправильно. Что может быть причиной таких ошибок?
Обновление 1
Добавление большего количества информации. Я воспроизвел это без повышения, поэтому предупреждение «Неизвестная версия компилятора» исчезнет. Я также получил больше выход из сборника:
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.22816 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
cl /c /I"C:\Users\myname\Documents\Visual Studio 2015\Projects\folly\folly\folly\folly" /I"C:\Users\myname\Documents\Visual Studio 2015\Projects\folly\folly\\" /I"Generated Files\\" /IDebug\ /ZI /ZW /ZW:nostdlib /W3 /WX- /sdl /MP /Od /Oy- /D _VARIADIC_MAX=10 /D FOLLY_NO_CONFIG /D _TIMESPEC_DEFINED /D FOLLY_HAVE_STD__IS_TRIVIALLY_COPYABLE /D _UNICODE /D UNICODE /D _DEBUG /D WINAPI_FAMILY=WINAPI_FAMILY_APP /D __WRL_NO_DEFAULT_LIB__ /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yc"pch.h" /Fp"Debug\folly.pch" /Fo"Debug\\" /Fd"Debug\vc140.pdb" /Gd /TP /wd4453 /wd28204 /FU"C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral\platform.winmd" /FU"C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0\Windows.Foundation.FoundationContract.winmd" /FU"C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0\Windows.Foundation.UniversalApiContract.winmd" /FU"C:\Program Files (x86)\Windows Kits\10\References\Windows.Networking.Connectivity.WwanContract\1.0.0.0\Windows.Networking.Connectivity.WwanContract.winmd" /analyze- /errorReport:prompt /bigobj pch.cpp
pch.cpp
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(26): error C2143: syntax error: missing ',' before '<'
c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(266): note: see reference to class template instantiation 'std::_String_const_iterator<_Mystr>' being compiled
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(27): error C2518: keyword 'typename' illegal in base class list; ignored
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(28): error C2518: keyword 'typename' illegal in base class list; ignored
1>c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring(29): error C2518: keyword 'typename' illegal in base class list; ignored
...
Update 2
Эти ошибки происходят с и без опции скомпилированного заголовка включена.
В выводе сборки я заметил сообщение об ошибке «Неизвестная версия компилятора ...».Можете ли вы проверить свои файлы заголовков, какое условие вызывает это сообщение? –
Спасибо за комментарий. Это сообщение о версии компилятора появилось из boost. Я читал онлайн, что это безобидно, но я переработал вещи в проекте, поэтому в настоящее время он не компилируется с повышением, чтобы получить это сообщение из изображения. Посмотрите мое обновление ниже горизонтальной линии. Теперь эта заметка уходит, но я все еще получаю ошибку. – firebush
Какую версию Windows вы настраиваете? Можете ли вы попробовать добавить «/ D WIN32_WINNT = 0x0601» в свою командную строку для Windows 7? Подробнее см. В разделе [msdn] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#setting_winver_or__win32_winnt). –