头文件的包含顺序
这个问题困扰我很久了
请问应该如何包含才不会冲突呢
我在每个头文件里 都有#pragma once
还包含了winsock2.h 经常说 windows.h冲突
问题点数:100、回复次数:4Top
1 楼DrSmart(斯玛特)回复于 2006-03-05 23:40:35 得分 30
把winsock2.h放在最前面
它包含了部分windows的定义,就有重定义错误Top
2 楼coolzdp(unreal张师傅)回复于 2006-03-05 23:40:46 得分 30
把常用的头文件放到 stdafx.h 不就行了Top
3 楼Wilbur2006()回复于 2006-03-06 08:55:27 得分 0
是不是把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 已跳过
Top
4 楼lzzqqq(Jonersen)回复于 2006-03-06 09:02:39 得分 40
把引用最频繁的.h文件放到stdafx.h里面,在其他文件里就不用include它们了,直接用就行了.Top




