Header 合并两个现有 C++ 程序时出现问题
Header issue when combing two existing C++ programs
我有一个用 C++ 编写的程序,可以编译并运行良好。我正在尝试将它与另一个使用我的程序作为函数的 C++ 程序结合起来。
而我所做的就是将我的程序作为他们程序的适应度函数。这些程序的布局如下:
http://s23.postimg.org/s3fbqsn0b/Together.png
问题是当我尝试编译它时,出现了很多错误:
"x already defined in Old_Main.Obj"
所以有人告诉我关于前向声明函数并且不包括 B.Cpp 中的 A2.h。当我尝试用 gcc 编译它时,我得到:
"undefined reference to x"
项目设置方法如下:
在 one header 中 prototype for x:
void x(int);
所有.cpp 文件包含header。
一个.cpp文件定义x:
void x(int alpha)
{
...
}
当您构建项目时,链接器将找到您对 x 的定义并解析对它的所有调用。
我有一个用 C++ 编写的程序,可以编译并运行良好。我正在尝试将它与另一个使用我的程序作为函数的 C++ 程序结合起来。
而我所做的就是将我的程序作为他们程序的适应度函数。这些程序的布局如下:
http://s23.postimg.org/s3fbqsn0b/Together.png
问题是当我尝试编译它时,出现了很多错误: "x already defined in Old_Main.Obj"
所以有人告诉我关于前向声明函数并且不包括 B.Cpp 中的 A2.h。当我尝试用 gcc 编译它时,我得到: "undefined reference to x"
项目设置方法如下:
在 one header 中 prototype for x:
void x(int);
所有.cpp 文件包含header。
一个.cpp文件定义x:
void x(int alpha)
{
...
}
当您构建项目时,链接器将找到您对 x 的定义并解析对它的所有调用。