C ++中头文件的结构和通过终端Mac编译

时间:2013-12-02 17:37:09

标签: c++ terminal structure header-files

我对头文件的结构感到困惑。在我的程序中,头文件只有int add(int x, int y);的前向声明,并且在main方法中,它调用头文件,但不使用任何return语句初始化前向声明,它只是分配x和y特定值。换句话说,当头文件中的代码没有任何返回类型时,main方法如何知道如何处理头文件中的代码。任何帮助将不胜感激。如果有帮助,下面是两个文件的代码:

add.h:

int add(int x, int y); // function prototype for add.h

main.cpp中:

#include <iostream>
#include "add.h" // this brings in the declaration for add()

int main()
{
using namespace std;
cout << "The sum of 3 and 4 is " << add(3, 4) << endl;
return 0;
}

我使用g++ add.h main.cpp execution1; ./execution1从终端编译它,我收到此错误:

clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated
clang: error: cannot specify -o when generating multiple output files
-bash: ./execution1: No such file or directory

1 个答案:

答案 0 :(得分:-1)

这是重复的,请看这里:How to compile C++ program by command line on Mac

但你回答......

您可以使用c++ -c main.cpp,然后使用c++ main.o,它会生成.exe

再见!