=========================mysql 源码 windows 编译报错,求解决

unhappyless 2016-03-21 05:29:58
下载的 MySQL 5.5.21 源码,用cmake生成vs2005 工程

编译报错:
2>E:\mysql-5.5.21\mysql-5.5.21\include\my_pthread.h(59) : error C2016: C 要求一个结构或联合至少有一个成员
2>E:\mysql-5.5.21\mysql-5.5.21\include\my_pthread.h(59) : error C2061: 语法错误 : 标识符“CONDITION_VARIABLE”
2>E:\mysql-5.5.21\mysql-5.5.21\include\my_pthread.h(74) : warning C4094: 无标记的“struct”未声明符号
2>E:\mysql-5.5.21\mysql-5.5.21\include\my_pthread.h(75) : error C2059: 语法错误 : “}”
2>E:\mysql-5.5.21\mysql-5.5.21\include\my_pthread.h(134) : error C2143: 语法错误 : 缺少“)”(在“*”的前面)




/**
Implementation of Windows condition variables.
We use native conditions on Vista and later, and fallback to own
implementation on earlier OS version.
*/
typedef union
{
/* Native condition (used on Vista and later) */
CONDITION_VARIABLE native_cond;

/* Own implementation (used on XP) */
struct
{
uint32 waiting;
CRITICAL_SECTION lock_waiting;
enum
{
SIGNAL= 0,
BROADCAST= 1,
MAX_EVENTS= 2
} EVENTS;
HANDLE events[MAX_EVENTS];
HANDLE broadcast_block_event;
};
} pthread_cond_t;



报错在于不识别 CONDITION_VARIABLE native_cond;

是还需要安装什么库吗?
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynsenyu 2016-03-22
  • 打赏
  • 举报
回复
看看编译器要求,支持vs2005不?
ynsenyu 2016-03-22
  • 打赏
  • 举报
回复
A working ANSI C++ compiler. GCC 4.2.1 or later, Sun Studio 12 or later, Visual Studio 2008 or later, and many current vendor-supplied compilers are known to work. http://dev.mysql.com/doc/refman/5.5/en/source-installation.html 要求vs2008以上的
unhappyless 2016-03-22
  • 打赏
  • 举报
回复
引用 1 楼 u011575570 的回复:
应该是少编译了什么文件吧,CONDITION_VARIABLE这个就不是什么库的东西,应该是自己定义的
下的源码,怎么可能要用户自己定义
rick-he 2016-03-21
  • 打赏
  • 举报
回复
应该是少编译了什么文件吧,CONDITION_VARIABLE这个就不是什么库的东西,应该是自己定义的

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧