OSSEC源代码创建VS2010项目

1.   无法解析的外部符号 _va_copy,该符号在函数 __log 中被引用


va_copy is c99 - anything before that, and its upto the compiler... as pointed out, gcc 2.95 dosnt have it,depends on your definition of absolutely ancient, but the gcc 2.95.4 that comes with freebsd 4.x does not support va_copy 

因为va_copy,C99中对其进行了支持。但是如果不支持怎么办?

#ifndef va_copy 
# ifdef __va_copy 
# define va_copy(DEST,SRC) __va_copy((DEST),(SRC)) 
# else 
# define va_copy(DEST, SRC) memcpy((&DEST), (&SRC), sizeof(va_list)) 
# endif 
#endif


2. c语言变量的错误  “i”: 未声明的标识符

C语言变量必须在函数最前面声明,然后才能使用。特别是放在while、case语句中的变量声明 


3. 宏定义错误


两个define放在一起,提示错误   error C2065: “PRODUCT_UNLICENSED_C”: 未声明的标识符

解决办法:两个define分开定义


4. 字符串比较

忽略大小写比较 linux strcasecmp相当于windows平台的 stricmp

5. c文件

c文件里不能包含对c++类的使用,比如string等。


参考:  http://www.linuxidc.com/Linux/2012-02/52963.htm  - 跨Linux和Windows的C编程杂记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值