【问题标题】:Error while compiling cpp code: collect2: error: ld returned 1 exit status编译cpp代码时出错:collect2:错误:ld返回1退出状态
【发布时间】:2020-03-21 09:54:06
【问题描述】:

我目前正在学习 C++,并在学习如何处理多个文件时遇到此编译器错误: " 在函数main': bravo.cpp:(.text+0x71): undefined reference tosum(int, int)' collect2:错误:ld 返回 1 个退出状态“

我正在构建的代码是: 主要功能

#include<iostream>
#include "add.h"
int main(){

int a,b;
std::cout<<"Give me two numbers to add: \n";
//std::cin>>a>>b;
std::cout<<"The sum of two numbers is "<< sum(10,5)<< std::endl; 
}

头文件

#pragma once
int sum(int a, int b);

求和函数

#include<iostream>
#include "add.h"

int sum(int a, int b){
return a+b;
}

那么我哪里做错了? 我尝试检查堆栈溢出错误,但我无法针对我的问题实施解决方案? 有任何想法吗? 谢谢。

【问题讨论】:

    标签: c++ g++


    【解决方案1】:

    您收到链接器错误,因为您可能只是尝试编译您的 main.cpp 函数。然后链接器找不到 sum(int, int),因为您也没有编译 add.cpp 函数。

    假设您使用的是 g++,您可以像这样编译这两个文件:

    g++ main.cpp add.cpp
    

    它会起作用的。

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多