阅读:1773回复:10
c语言代码到VC++的转换
我在调试一段驱动代码,将所需函数放在一个lib文件中,在C下已经编译成功.但在VC++中包含该库进行编译时,出现错误提示:
unexpected end of file while looking for precompiled header directive. 注:该lib文件的执行体为.c文件,不是.cpp. 怀疑是c跟VC++有些不兼容,是不是在包含过程中要有些新的设置. 请高手指点,急!!!!!!! |
|
沙发#
发布于:2005-01-21 14:39
请包含“StdAfx.h”头文件
|
|
|
板凳#
发布于:2005-01-21 15:29
我已经include了stdafx.h文件,但仍然出现这个错误提示.
|
|
地板#
发布于:2005-01-21 18:36
Not using precompiled headers
|
|
地下室#
发布于:2005-01-22 09:00
在工程文件中设置一下试一试
|
|
5楼#
发布于:2005-01-22 09:41
Not using precompiled headers
没事别用STDAFX |
|
|
6楼#
发布于:2005-01-25 11:51
在工程里设置一下!
|
|
7楼#
发布于:2005-03-01 10:21
把使用预编译头文件的编译选项去掉
|
|
|
8楼#
发布于:2005-03-01 12:24
在工程里设置一下! 在工程设置里加入lib文件。 |
|
9楼#
发布于:2005-03-04 16:54
头文件,lib
|
|
10楼#
发布于:2005-03-05 23:56
我在调试一段驱动代码,将所需函数放在一个lib文件中,在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时会告诉你链接错误或者找不到函数。 |
|
|