这个问题困扰我很久了
请问应该如何包含才不会冲突呢我在每个头文件里  都有#pragma once 还包含了winsock2.h 经常说 windows.h冲突 

解决方案 »

  1.   

    把winsock2.h放在最前面
    它包含了部分windows的定义,就有重定义错误
      

  2.   

    把常用的头文件放到 stdafx.h 不就行了
      

  3.   

    是不是把stdafx.h作为 预编译头就可以了?
    我用的vc2003 
    在"通过文件创建/使用PCH"一项中我填了stdafx.h
    在“预编译头文件”里 我填的是 $(IntDir)/$(TargetName).pch编译时说------ 已启动生成: 项目: First_FrameWork, 配置: Debug Win32 ------正在编译...
    MediaServerDlg.cpp
    MediaServerDlg.cpp(126) : fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾
    MediaServer.cpp
    MediaServer.cpp(1) : fatal error C1083: 无法打开预编译头文件:“Debug/First_FrameWork.pch”: No such file or directory
    CWorkerSocket.cpp
    CWorkerSocket.cpp(2) : fatal error C1083: 无法打开预编译头文件:“Debug/First_FrameWork.pch”: No such file or directory
    CListenSocket.cpp
    CListenSocket.cpp(1) : fatal error C1083: 无法打开预编译头文件:“Debug/First_FrameWork.pch”: No such file or directory
    正在生成代码...生成日志保存在“file://f:\项目\MyPractise\First_FrameWork\First_FrameWork\Debug\BuildLog.htm”中
    First_FrameWork - 4 错误,0 警告
    ---------------------- 完成 ---------------------    生成: 0 已成功, 1 已失败, 0 已跳过
      

  4.   

    把引用最频繁的.h文件放到stdafx.h里面,在其他文件里就不用include它们了,直接用就行了.