【问题标题】:Compiling a header file without the use of a makefile在不使用 makefile 的情况下编译头文件
【发布时间】:2017-03-09 21:53:34
【问题描述】:

正如标题所暗示的,我有一个 C 语言代码文件和一个头文件及其实现。为了制作可执行程序,我应该在运行的类 Linux 系统上的命令行中写什么?

【问题讨论】:

  • 您不编译头文件,并且头文件通常不包含您所说的“代码文件的实现”。这个问题意义不大。
  • 您(可能)想要的程序称为gcc。谷歌会告诉你更多。
  • 非常感谢
  • 您问题的主题行与正文无关
  • 欢迎来到 Stack Overflow。请尽快阅读 AboutHow to Ask 页面,但更重要的是,请阅读有关如何创建 MCVE (minimal reproducible example) 的信息。至少,您应该指定两个文件名——codefile.cheader.h 总比没有好——并确认codefile.c 包含一行#include "header.h"。即使没有任何makefile,输入make codefile 也会编译codefile.c 以创建一个可执行文件codefile;你也可以输入gcc -Wall -Wextra -Werror -o codefile codefile.c。如果它没有编译,你应该在问题的编辑中包含错误消息。

标签: c


【解决方案1】:
gcc file.c -o yourProgram
./yourProgram

【讨论】:

    【解决方案2】:

    一个 shell 脚本,在你要编译的所有 .c 文件上运行 gcc。

    make 的错误优势在于编写正确,它只会编译更改的文件,从而节省构建时间,尤其是在开发过程中

    【讨论】:

      【解决方案3】:

      首先,您需要查看您的系统(哪个 gcc)安装了哪些编译器(如果有)。假设你有 gcc,看看这个应该提供答案的问题:

      How to compile a C program in gcc which has header files?

      请注意,gcc CodeFile.c -o ExecutableName 是从 .c 本身编译基本可执行文件的基本命令。

      或者,让您的#include 语句使用相对路径,具体取决于您的代码库的结构。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 2011-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多