-
Notifications
You must be signed in to change notification settings - Fork 945
Open
Description
看fiber库的描述是支持windows的
放开xmake.lua里面的限制
编译过程会遇到下面的一些错误
(下面有些错误是c++特有的,有些是msvc的强制安全要求,大佬比我懂,看情况修改哈。要么就把使用不安全函数的宏直接加到构建脚本里,要么用宏控制下,windows上就用那些安全函数)
处理了下面的错误之后编译即可通过(我本地都是注释或者赋值为0)
lib_fiber\c\src\common\gettimeofday.c(144): error C2220: 以下警告被视为错误
lib_fiber\c\src\common\gettimeofday.c(144): warning C4996: '__timezone': This function or variable may be unsafe. Consider using _get_timezone instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
lib_fiber\c\src\common\gettimeofday.c(145): warning C4996: '__daylight': This function or variable may be unsafe. Consider using _get_daylight instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
应该是没有保证线程安全,需要换成后面的函数
2 dup可能被废弃了,用2022编译通不过
把上面两行注释了,继续编译,会出现下面的错误
可能是废弃了,得换成_dup?
5 这个文件,我用utf-8和gbk打开,注释都会乱码,字符编码应该是已经错乱了
10 如下报错显示要用msvc提供的安全函数
lib_fiber\c\src\dns\rfc1035.c
11 貌似是没有定义UNICODE宏,用了WSASocketA函数
不过这里也没字符串参数,分不分A或者W好像也没啥关系
12 这里第七个参数,是int指针,但是需要一个LPDWORD,在64位上LPDWORD是unsigned long指针
22 SOCKET句柄转int可能出问题
前面把dup改_dup的位置,话说这种SOCKET句柄传给dup的用法可以嘛,不确定?
Metadata
Metadata
Assignees
Labels
No labels