为什么这个代码不会运行?我很迷惑

时间:2017-06-14 00:39:34

标签: c++

// main.cpp
#include <iostream>
#include "add.h"

int main(){
  std::cout << "Hello World\n";
  std::cout << add(3,4) << std::endl;
  return 0;
}

// add.h
#ifndef add_h
#define add_h

int add(int x, int y);

#endif /* add_h */

// add.cpp
#include "add.h"

int add(int x, int y){
  return x + y;
}

我正在使用&#39; g ++ -std = c ++ 11 main.cpp -o main&#39;进行编译。我一直在收到链接器错误。我也完全从教程中复制了它。

1 个答案:

答案 0 :(得分:1)

现在add.cpp文件没有正确链接。

您需要做什么:

  1. 创建add.o文件
    g++ -c add.cpp -o add.o
    
  2. 将.o文件链接到编译

    g++ -std=c++11 add.o main.cpp -o main