我正试图在windows上构建我的项目(wpilib),它来自linux,它在那里工作得很好。我安装了mingw,但它似乎没有我所使用的所有线程,所以我删除了它并安装了mingw-x64。这让我更进一步,但现在我被困在这里了。
In file included from C:/Program Files/mingw-w64/x86_64-5.1.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/winsock2.h:55:0,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/socket_types.hpp:38,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/win_tss_ptr.hpp:23,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/tss_ptr.hpp:25,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/call_stack.hpp:20,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/impl/handler_alloc_hook.ipp:19,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/handler_alloc_hook.hpp:80,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/handler_alloc_helpers.hpp:21,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/bind_handler.hpp:19,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/detail/wrapped_handler.hpp:18,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/io_service.hpp:24,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/basic_io_object.hpp:19,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/basic_socket.hpp:20,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio/basic_datagram_socket.hpp:20,
from C:\Users\peter\gz-ws\boost_1_56_0/boost/asio.hpp:21,
from C:\Users\peter\gz-ws\gazebo\build\install\Debug\include\gazebo-6.0/gazebo/transport/Connection.hh:23,
from C:\Users\peter\gz-ws\gazebo\build\install\Debug\include\gazebo-6.0/gazebo/transport/transport.hh:3,
from C:\Users\peter\wpilib\cpp\current\sim\include/DriverStation.h:9,
from C:\Users\peter\wpilib\cpp\current\sim\include/RobotBase.h:9,
from C:\Users\peter\wpilib\cpp\current\sim\include/WPILib.h:35,
from ..\src\OI.h:11,
from ..\src\OI.cpp:8: C:/Program Files/mingw-w64/x86_64-5.1.0-posix-seh-rt_v4-rev0/mingw64/x86_64-w64-mingw32/include/psdk_inc/_socket_types.h:11:9: error: 'UINT_PTR' does not name a type typedef UINT_PTR SOCKET;发布于 2015-06-18 22:46:54
由于某种原因,在我的所有.cpp文件中添加以下内容似乎解决了这个特定的问题。我注意到每个人似乎都把它放在最上面,但我看不出它和UINT_PTR之间的联系,后者是在basetsd.h中定义的
#ifdef _WIN32
// Ensure that Winsock2.h is included before Windows.h
#include <Winsock2.h>
#endif如果有人知道这是为什么,我很想知道
https://stackoverflow.com/questions/30926742
复制相似问题