xjtugrd
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2008-03-27
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1773回复:10

c语言代码到VC++的转换

楼主#
更多 发布于:2005-01-21 13:28
我在调试一段驱动代码,将所需函数放在一个lib文件中,在C下已经编译成功.但在VC++中包含该库进行编译时,出现错误提示:
    unexpected end of file while looking for precompiled header directive.
  注:该lib文件的执行体为.c文件,不是.cpp.

  怀疑是c跟VC++有些不兼容,是不是在包含过程中要有些新的设置.

  请高手指点,急!!!!!!!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-21 14:39
请包含“StdAfx.h”头文件
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
xjtugrd
驱动牛犊
驱动牛犊
  • 注册日期2003-10-02
  • 最后登录2008-03-27
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-21 15:29
我已经include了stdafx.h文件,但仍然出现这个错误提示.
cdw
cdw
驱动牛犊
驱动牛犊
  • 注册日期2002-12-25
  • 最后登录2009-11-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-21 18:36
Not using precompiled headers
fu_tiansweet
驱动老牛
驱动老牛
  • 注册日期2004-01-08
  • 最后登录2009-07-10
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望526点
  • 贡献值0点
  • 好评度281点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-22 09:00
在工程文件中设置一下试一试
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2005-01-22 09:41
Not using precompiled headers
没事别用STDAFX
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
xuzheng318
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2005-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-25 11:51
在工程里设置一下!
walkonthesky
驱动中牛
驱动中牛
  • 注册日期2003-11-26
  • 最后登录2012-11-06
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-03-01 10:21
把使用预编译头文件的编译选项去掉
[img]http://www.driverdevelop.com/forum/upload/walkonthesky/2004-07-08_2004-07-07_b847.gif[/img]
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-03-01 12:24
在工程里设置一下!

在工程设置里加入lib文件。
xuzheng318
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2005-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-03-04 16:54
头文件,lib
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-03-05 23:56
我在调试一段驱动代码,将所需函数放在一个lib文件中,在C下已经编译成功.但在VC++中包含该库进行编译时,出现错误提示:
    unexpected end of file while looking for precompiled header directive.
  注:该lib文件的执行体为.c文件,不是.cpp.

  怀疑是c跟VC++有些不兼容,是不是在包含过程中要有些新的设置.

  请高手指点,急!!!!!!!


和我刚学vc时遇到的一样:)
snowStart 说得对,要包括stdafx.h;其实和precompiled header并没有直接关系;和lib的执行体也没有关系,c++是支持c和c++两种外部调用的。
根据你项目的情况,可能还需要增加头文件。
比如你了一个名为abc的对话框项目,那么你的abcDlg.cpp里可能会有如下代码,
#include \"stdafx.h\"
#include \"abc.h\"
#include \"abcDlg.h\"
你是不是新增了一个自己的cpp文件,如果是的话,就需要将前面三行代码拷贝到新生成的cpp文件里。否则就会出现你所说的提示。
如果你没有生成新的文件而出现了这样的错误,那就应该重新生成一个新的项目,再测试。
引用库文件时,除了要将lib文件加入project setting里,还有一个要点,就是在#include \"xxx.h\" 要放到stdafx.h中,而且要放到
/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
之前,这是由于“与编译”功能在作怪:)
还有,如果你的windows是xp,你有可能还需要在stdafx.h的第一行增加#define _WIN32_WINNT 0x0501,否则你在调用很多api时会告诉你链接错误或者找不到函数。
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
游客

返回顶部