gpt4 book ai didi

c++ - '创建事件' : is not a member of '` global namespace'' in ASIO

转载 作者:行者123 更新时间:2023-11-30 00:47:19 25 4
gpt4 key购买 nike

我正在从事一个包含 ASIO 的项目。我添加了库文件和头文件,但是当我有一个包含 asio.hpp 的文件时,出现以下错误:

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 重新定义为正确的版本号;但是,我尝试了几个版本号,要么得到了 Windows 版本不兼容的错误,要么没有解决上述错误。

我还在 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

最佳答案

我在一个使用 boost 和 Poco 的项目中遇到了同样的编译器问题。事实证明,Poco 包含一个“UnWindows.h”文件,该文件取消定义了许多 Windows 宏。为了防止 Poco 取消定义宏,我将 POCO_NO_UNWINDOWS 添加到我的预处理器定义列表中。这似乎解决了升压问题。

关于c++ - '创建事件' : is not a member of '` global namespace'' in ASIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com