努力学习的馨姜 2022-09-20 11:01 采纳率: 100%
浏览 34
已结题

用gcc编译两个文件时出错

问题遇到的现象和发生背景

用gcc编译两个文件时出错

用代码块功能插入代码,请勿粘贴截图
//头文件
>> add.h
int threeSum(int a, int b, int c);
//函数
>> add.c
#include "add.h"
// just add 3 integers, and return the sum of them
// param 1 int a
// param 2 int b
// param 3 int c
int threeSum(int a, int b, int c)
{
    return a + b + c;
}
//主函数
>> main.c
#include<stdio.h>
#include"add.c"
int main()
{
    printf("%d\n", threeSum(1, 2, 3));
}
运行结果及报错内容

在终端用这个代码运行

gcc main.c add.c 

报错

duplicate symbol '_threeSum' in:
    /var/folders/xw/vq_ws6qs5d147sfm2dbfr5ww0000gn/T/main-ad9cfc.o
    /var/folders/xw/vq_ws6qs5d147sfm2dbfr5ww0000gn/T/add-d168a0.o
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我的解答思路和尝试过的方法

直接在主函数那里用快捷键运行不会报错, 但是在终端用gcc main.c add.c 会报错

我想要达到的结果

用gcc main.c add.c 运行不报错

  • 写回答

2条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 9月28日
      • 已采纳回答 9月20日
      • 创建了问题 9月20日

      悬赏问题

      • ¥15 有没有可以下载钉钉群文件视频的软件
      • ¥15 如何用LaTeX打出如下的表格
      • ¥15 程序填空补充完整的代码一共三题
      • ¥15 在MySQL中使用while建表,报错
      • ¥15 DB2线上告警,三表联查sql优化。
      • ¥15 python导入pyautogui报错,网上也没有找到解决方法如何解决?
      • ¥15 关于IPSEC和NAT SERVER同时使用的情况下,该如何解决客户端访问服务器的问题
      • ¥15 eclipse项目在idea运行部署到云服务器
      • ¥100 sql server image类型转换
      • ¥15 关于matlab的问题