技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 程序开发 > c/c++ > 正文

使用 VS2013编译问题

来源: 技术CTO 阅读:

以下是编译过程中报错,
Error 64 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCActionFrame.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 65 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCActionFrameEasing.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\platform\win32\CCStdC.h 32 1 libCocosStudio
Error 66 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCActionManagerEx.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 67 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCArmature.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 68 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCArmatureDataManager.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 69 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCActionObject.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 70 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBatchNode.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 71 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCActionNode.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 72 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCComAttribute.cpp) f:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 73 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCComAudio.cpp) f:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 74 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCComController.cpp) f:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 75 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCComRender.cpp) f:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 76 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCArmatureAnimation.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 77 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBone.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 78 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCColliderDetector.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 79 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCDataReaderHelper.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosStudio
Error 80 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBAnimationManager.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 81 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBFileLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 82 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBKeyframe.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 83 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCControlButtonLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 84 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBReader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 85 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCControlLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 86 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBSequence.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 87 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCBSequenceProperty.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 88 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCLabelTTFLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 89 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCLayerGradientLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 90 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCLayerColorLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 91 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCLayerLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 92 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCMenuItemLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 93 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCLabelBMFontLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 94 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCMenuItemImageLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 95 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCNodeLoader.cpp) f:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 96 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCScale9SpriteLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 97 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCNode+CCBRelativePositioning.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 98 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCScrollViewLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 99 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCSpriteLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 100 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCNodeLoaderLibrary.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder
Error 101 error C1083: Cannot open include file: 'BaseTsd.h': No such file or directory (..\CCParticleSystemQuadLoader.cpp) F:\online_gbmj\frameworks\cocos2d-x\cocos\base\CCConsole.h 30 1 libCocosBuilder

项目附加项里面找不到 “BaseTsd.h”, 我同过 属性 》C++目录 》include directories 添加对应的路径后,虽然该头文件被加入到 附加项(External Dependencies)里面,但是还是出现同样错误,求大侠帮忙。
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
引用 2 楼 zhao4zhong1 的回复:
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项


按照您说的方法将前两项加入到对应的位置,还是报的相同的错误,虽然外部依赖项里面有 “BaseTsd.h”这个头文件,因为 该头文件只是一个声明,所以在 Lib库里面没有找到对应的 .lib 库文件,能问下到底是什么问题导致这种情况发生吗?
1 头部#include文件错误,#include 后面的包含的文件时,如果使用的是 "<>" 尖括号的话, 表示让编译器在系统头文件夹中查找对应名字的头文件, 当使用""引号时,就是让编译器在当前程序目录下查找对应名字的头文件,如果没有找到,则编译器会再在系统头文件夹中查找该头文件. 注意#include文件到位置。
2 感觉是编译器兼容问题,比如:include “streams.h”有的情况下在vs2003编译通过的情况下,在vs。net编译无法通过,改成,include "streams"去掉.h就可以了。
 
3 有可能是文件整理后移动位置,将与编译头文件和cpp文件目录修改导致错误,用记事本打开.dsp文件,找到与编译cpp文件,少了个与编译开关所以不能生成与编译头文件:.pch
加入开关:# ADD CPP /Yc"。h文件"。例如:
SOURCE=.\StdAfx.cpp
# End Source File
# Begin Source File
发现少了个与编译开关所以不能生成与编译头文件:。pch
加入开关:# ADD CPP /Yc"stdafx.h"
SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"stdafx.h"
# End Source File
# Begin Source File
 
4 在编译directshow源码的时候注意将C:\DXSDK\Samples\C++\DirectShow\BaseClasses下的文件先进性一次编译。
 
5 tools->options->directories 里的lib设置问题
 
6 有的时候需要使用#program comment(lib,"")命令导入一个lib库文件。让编译器在该库文件中搜索,引入的头文件。
以上仅供参考.
引用 4 楼 bubu8633 的回复:
1 头部#include文件错误,#include 后面的包含的文件时,如果使用的是 "<>" 尖括号的话, 表示让编译器在系统头文件夹中查找对应名字的头文件, 当使用""引号时,就是让编译器在当前程序目录下查找对应名字的头文件,如果没有找到,则编译器会再在系统头文件夹中查找该头文件. 注意#include文件到位置。
2 感觉是编译器兼容问题,比如:include “streams.h”有的情况下在vs2003编译通过的情况下,在vs。net编译无法通过,改成,include "streams"去掉.h就可以了。
 
3 有可能是文件整理后移动位置,将与编译头文件和cpp文件目录修改导致错误,用记事本打开.dsp文件,找到与编译cpp文件,少了个与编译开关所以不能生成与编译头文件:.pch
加入开关:# ADD CPP /Yc"。h文件"。例如:
SOURCE=.\StdAfx.cpp
# End Source File
# Begin Source File
发现少了个与编译开关所以不能生成与编译头文件:。pch
加入开关:# ADD CPP /Yc"stdafx.h"
SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"stdafx.h"
# End Source File
# Begin Source File
 
4 在编译directshow源码的时候注意将C:\DXSDK\Samples\C++\DirectShow\BaseClasses下的文件先进性一次编译。
 
5 tools->options->directories 里的lib设置问题
 
6 有的时候需要使用#program comment(lib,"")命令导入一个lib库文件。让编译器在该库文件中搜索,引入的头文件。


 由于“BaseTsd.h” 是vs 提供的系统文件,装好 VS2013后在 C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include 目录下,所以编译器会去系统目录下去查找,按照你说的方法 2 都试过了,但是还是报的相同的错误。

由于“BaseTsd.h”文件只是一些类型的声明,所以没有 .cpp文件,vs2013 编译器目录下的文件命名有改变,没有找到 .pch 文件,不知道最新的控制编译开关的语句放在哪个文件中,能否麻烦您看看到底在 vs2013 中到底是哪个文件控制编译开关的?因为它没有对应 的 cpp文件,所以也没有对应的 lib 文件, 您说的方法 4、5、6 也没有效果。不过仍然谢谢您和赵4老师的耐心解答。
把这个路径加入 附加包含目录。

VS 2013 怎么可能使用 V7.1 Include 目录呢?
我的 VS2013 使用的 \Windows Kits\8.1\Include\shared 目录。

不要修改 VS 的缺省设置。
引用 7 楼 Saleayas 的回复:
把这个路径加入 附加包含目录。

VS 2013 怎么可能使用 V7.1 Include 目录呢?
我的 VS2013 使用的 \Windows Kits\8.1\Include\shared 目录。

不要修改 VS 的缺省设置。


我的是win7 系统所以是 V7.1A 的目录,没有改 VS 的缺省设置,只是在Additional Include Directories 下面新建了个路径 包含头文件。
把几个 include 的设置,都看看,有没有包含 BaseTsd.h 所在的目录。
引用 9 楼 Saleayas 的回复:
把几个 include 的设置,都看看,有没有包含 BaseTsd.h 所在的目录。


在VC++ 目录下的 Include Directories 里面加了 C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include;
 C/C++ 》General 下的 Additional Include Directories 里面加了 C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include;
还是没有效果,继续报错。不过 项目下的 附件依赖项(External Dependencies )里面能找到 “BaseTsd.h” 文件,就是不知道为什么编译器还是继续报错。
带空格的目录要用半角双引号括住。
必要时重建所有。

引用 11 楼 zhao4zhong1 的回复:
带空格的目录要用半角双引号括住。


其实这个项目是使用 cocos2dx 游戏引擎的项目,引用 “BaseTsd.h” 头文件里面的是 引擎的文件,应该不可能是引用的时候出现差错吧 
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项

注意必须填写绝对目录如"C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include"
不能填写相对目录如“..\XXXXX”
项目的include目录没有设置对。自己百度一下设置方法。

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^