16.C1083错误

今天在编译一个mfc的directshow程序发现报了一个c1083错误:fatal error C1083: Cannot open include file: 'streams.h': No such file or directory
CFilterGraph.cpp,自以为是没有在头部#program comment(lib,"")造成的,后来导入lib仍报错,后查找tools->options->directories 的lib设置,没有发现问题,因为刚装的系统忘记了directshow的base类编译过没有,所以去检查,发现已经编译了。后来去网上查找了才发现原来导致C1083的原因还很多。。。

 
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库文件。让编译器在该库文件中搜索,引入的头文件。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值