Когда я просто добавляю заголовок #include <boost/signals2.hpp>
в VS
, я получаю следующую ошибку, хотя он не может найти заголовок.
1>signals.cpp
1>c:\apps\mvs15\vc\tools\msvc\14.10.25017\include\memory(53): error C4996: 'std::uninitialized_copy::_Unchecked_iterators::_Deprecate': Call to 'std::uninitialized_copy' with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
1>c:\apps\mvs15\vc\tools\msvc\14.10.25017\include\memory(53): note: see declaration of 'std::uninitialized_copy::_Unchecked_iterators::_Deprecate'
1>c:\boost_1_69_0\boost\signals2\detail\auto_buffer.hpp(191): note: see reference to function template instantiation '_FwdIt *std::uninitialized_copy<I,boost::shared_ptr<void>*>(_InIt,_InIt,_FwdIt)' being compiled
Я не могу это исправить,Но мои Boost.Asio
библиотечные заголовки работают нормально, и код компилируется.Поэтому я думаю, что проблема не в установке буста.
Edit1: я скачал исполняемые файлы Windows с сайта boost и установил их.Я использую VS 2017. Я добавил путь к библиотеке, заголовки в свойствах следующим образом.
Свойства конфигурации-> Связанные-> Общие-> Дополнительные каталоги библиотеки как C: \ boost_1_69_0 \ lib64-msvc-14.1;
Свойства конфигурации-> Включить каталоги добавили дополнительную папку C: \ boost_1_69_0;
Edit2: проблема решена путем добавления -D_SCL_SECURE_NO_WARNINGS в
Свойства конфигурации-> C / C ++ -> Командная строка.