【问题标题】:How to compile executable into another file(Not source)如何将可执行文件编译成另一个文件(不是源代码)
【发布时间】:2018-02-27 02:00:04
【问题描述】:

假设我在 C:/programs/uncompiled 中有 C 文件,并想编译成 C:/programs/executable,我有什么方法可以在 MinGW 中做到这一点?

我尝试过制作类似的可憎之物

gcc -d executable -Wall -o helloworld.exe helloworld.c

但这显然行不通,因为它不是 Java。 除了源文件所在的位置之外,是否不能编译成另一个文件?非常感谢您的帮助!!!

【问题讨论】:

    标签: c compilation


    【解决方案1】:

    使用路径名作为-o 参数:

    gcc -Wall -o C:/programs/executable/helloworld.exe C:/programs/uncompiled/helloworld.c
    

    如果你的当前目录是C:/programs/uncompiled,你可以使用相对路径:

    gcc -Wall -o ../executable/helloworld.exe helloworld.c
    

    【讨论】:

      【解决方案2】:

      您只想将 exe 放在另一个文件夹中?试试

      gcc -d executable -Wall -o ../executable/helloworld.exe helloworld.c`
      

      假设您在源文件夹中。您可能想在某个时候学习如何使用make,因为手动编译和链接多个文件很快就会变得乏味。一个简单的例子如下所示:

      SOURCEDIR=src
      BUILDDIR=build
      CFLAGS=-Wall -Werror -O0 -g
      LDFLAGS=-d executable
      
      $(BUILDDIR)/something.exe: $(BUILDDIR)/something.o $(BUILDDIR)/somethingelse.o 
          gcc $(LDFLAGS) -o $@ $^
      
      $(BUILDDIR)/%.o: $(SRCDIR)/%.c
          gcc $(CFLAGS) -c -o $@ $<
      

      您希望将something.exe 旁边的文件更改为.c 文件的名称(带有.o 扩展名),然后运行make 来构建您的项目。

      【讨论】:

        猜你喜欢
        • 2011-10-05
        • 1970-01-01
        • 2015-05-26
        • 2011-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-10
        相关资源
        最近更新 更多