在梳理两个现有C ++程序时出现标题问题

时间:2016-01-11 10:35:05

标签: c++ visual-studio gcc forward-declaration

我有一个用C ++编写的程序,它编译并且工作正常。我试图将它与另一个使用我的程序作为函数的C ++程序结合起来。

我所做的就是把我的程序作为他们程序的适应性功能。这些程序的布局如下:

http://s23.postimg.org/s3fbqsn0b/Together.png

问题是当我尝试编译它时,我收到很多错误: " x已在Old_Main.Obj"

中定义

所以有人告诉我有关前方声明该功能而不包括B.Cpp中的A2.h。当我尝试用gcc编译它时,我得到: "对x"

的未定义引用

1 个答案:

答案 0 :(得分:0)

以下是您设置项目的方式:

一个标题中,x的原型

void x(int);

所有 .cpp文件都包含该标头。

一个 .cpp文件定义x:

void x(int alpha)
{
...
}

构建项目时,链接器将找到x的定义并解析对它的所有调用。