【问题标题】:Combine two C program files in VScode, macOS在 VScode、macOS 中合并两个 C 程序文件
【发布时间】:2021-07-15 19:07:49
【问题描述】:

我有两个 C 程序文件,一个基本代码 main.c 和 function.c

function.c 文件包含我需要在 main.c 文件中调用的函数 我尝试使用 -o 合并文件 错误似乎是:liker not found,尽管所有的库和东西都完美地存在于我的系统中。

我在 macOS 的 vsCode 中遇到了这个问题。

【问题讨论】:

  • “liker not found”是否意味着您有一个名为 liker 的函数(或者可能是全局变量)未找到,或者是“未找到链接器”的拼写错误?要解决的问题大相径庭。在一种情况下,问题出在您的源代码中。另一方面,您的构建软件(可能)未正确安装,因为关键组件链接器不存在。

标签: c macos visual-studio-code merge linker


【解决方案1】:

让我们以附件中的示例开始,如果您看到带有 one.c 代码的图片,我已经使用了一条线


#include "two.c"

只是告诉编译器我想将每一个定义一分为二。 c


在文件 one.c 中,我调用了一个名为 print 的函数,该函数在两个文件中定义。 c


可以注意到并且非常重要的观察的一件事是two.c中,需要从中调用定义的文件没有t 有一个主要的功能。你能猜到为什么吗?原因很简单,因为当您单击one.c 时,您的系统将调用位于one.c 的主函数。在第二个文件中看到两个主要函数时,它会感到困惑并抛出错误,想想为什么你甚至需要two.c 中的主要函数。没有必要,因为我们使用 main 函数只是为了执行某些操作,而在 two.c 中您确实不需要执行任何操作,但您只需要将函数导出到另一个文件。


在您的情况下,您需要从函数 .c 文件中删除 main 函数,并且在 main .c 中只包含函数 .c 的路径

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 2021-04-29
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多