Я работаю над проектом, который включает ASIO. Я добавил библиотеки и файлы заголовков, но когда у меня есть файл, который включает в себя asio.hpp
, я получаю следующие ошибки:'CreateEvent': не является членом `` глобального пространства имен '' в ASIO
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/config.hpp(229): warning C4005: 'ASIO_ERROR_CATEGORY_NOEXCEPT': macro redefinition (compiling source file src\ofApp.cpp)
1> c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/config.hpp(215): note: see previous definition of 'ASIO_ERROR_CATEGORY_NOEXCEPT' (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_thread.ipp(59): error C2039: 'CreateEvent': is not a member of '`global namespace'' (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_thread.ipp(59): error C3861: 'CreateEvent': identifier not found (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_thread.ipp(69): error C2039: 'CreateEvent': is not a member of '`global namespace'' (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_thread.ipp(69): error C3861: 'CreateEvent': identifier not found (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_iocp_handle_service.ipp(42): error C2039: 'CreateEvent': is not a member of '`global namespace'' (compiling source file src\ofApp.cpp)
1>c:\users\me\documents\of_v0.9.1_vs_release\addons\ofxasio\libs\asio-1.10.6\include\asio/detail/impl/win_iocp_handle_service.ipp(42): error C3861: 'CreateEvent': identifier not found (compiling source file src\ofApp.cpp)
Исследование онлайн показывает, что это возможно из-за меня необходимости пересмотреть _WIN32_WINNT
к соответствующему номеру версии ; однако я пробовал несколько номеров версий и либо получил incompatible version of Windows error
, либо не получил разрешение на вышеуказанную ошибку.
Я также нашел документацию на сайте для Windows Dev:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682396%28v=vs.85%29.aspx
, и я увидел, что она требует WinBase.h
для более старых версий Windows, и Synchapi.h
для Windows 8. Я работающий под управлением Windows 8.1; но, к сожалению, ни один из этих вариантов не работал.
У кого-нибудь есть предложения по поводу того, что может вызвать эту ошибку?
Весь источник для проекта здесь: https://github.com/morphogencc/ofxAsio/tree/master/example-udpreceiver
Попробуйте '#include' как первую строку вашего '.cpp' файла. Забудьте о ẁinbase.h' или 'synchapi.h', вы, как пользователь, должны просто включать' windows.h' ... большую часть времени. –
rodrigo
Возможно, прогресс - если я включу его в файл '.cpp', я получу ошибку« C1189: WinSock.h уже включен ». Hmm .. –