编译报 CRITICAL_SECTION 没找到 错误
在 _MTDeque.h 中的文件中加入
#include <Classes.hpp>
BCB 6 中按「Project/Options」,點選「Directories/Conditionals」,在「Conditional defines」欄位中加入
「_WINSOCKAPI_」字串(如果己經有其他的定義,請放前面,並以分號隔開),最後按「OK」,然後重新編譯
在 winsock.hpp ($BCB)Include\vcl\\
//-- user supplied -----------------------------------------------------------
//xcm
#include <winsock2.h> //包含winsock2.h头文件
#include <winsock.h>
当有以下错误
undefined symbol 'SO_SYNCHRONOUS_NONALERT'
undefined symbol 'SO_OPENTYPE'
#define SO_OPENTYPE 0x7008
#define SO_SYNCHRONOUS_ALERT 0x10
#define SO_SYNCHRONOUS_NONALERT 0x20
Multiple declaration fd_set
以下为转(http://blog.sina.com.cn/s/blog_624277840100motb.html)
在#include<windows.h>之前 #include <winsock2.h> 问题就可以解决
如下
#ifndef _INC_WINDOWS
#include <winsock2.h>
#include <windows.h>
#endif /* _INC_WINDOWS */
[原因分析]
本的不同,导致出现上述的错误。<windows.h>中相关代码如下:
[解决方案]
提下windows.h有可能包含winsock.h 头文件,因此我们得出一个很简单
的解决方法就是在包含<windows.h>之前定义WIN32_LEAN_AND_MEAN宏,如
下所示:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>