2 u010167390 u010167390 于 2014.03.26 00:38 提问

C++中一个cpp引用另一个cpp中的函数,为什么会报错?
c++

C++中一个cpp引用另一个cpp中的函数,为什么会报错?

4个回答

u010953052
u010953052   2014.03.26 09:36

包含了没?重复包含了没?

slamzwl
slamzwl   2014.03.26 10:05

首先将要引用的cpp文件写出一个对应的头文件,相关的写法可以参照http://blog.sina.com.cn/s/blog_6d30debd0100sx16.html
这个网址给出的例子,写出对应的头文件后,在你的另一个cpp文件中#include就可以了。

u010167390
u010167390 我的代码结构和这个参考上的基本一样,有 A.h , A.cpp ,但是如果不在A.cpp 中加上 stdafx.h 就会报错:A .cpp(148) : fatal error C1010: unexpected end of file while looking for precompiled header directive
大约 4 年之前 回复
slamzwl
slamzwl   2014.03.26 13:32

A .cpp(148) : fatal error C1010: unexpected end of file while looking for precompiled header directive

解决方法:

1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。

2、在文件开头添加: #include "stdafx.h"

对预编译头文件说明如下:

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。

因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。

oyljerry
oyljerry   Ds   Rxr 2015.01.11 19:49

包含头文件,添加cpp到工程

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!