makefile生成的文件为啥不是可执行文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile生成的文件为啥不是可执行文件相关的知识,希望对你有一定的参考价值。

makefile是指导编译链接的文件。make才是命令。至于make之后生成的是不是可执行文件,要看你makefile是怎么写的了。
还有提醒一下:linux下的可执行文件是没有.exe后缀的。。
参考技术A 当然不会生成。因为你没有生成ttt的规则啊。
ttt : main.o chessboard.o fileio.o neuralnetwork.o base.o engine.o train.o
gccflags = -g -wall -i/usr/local/include -i$(curdir)/include
libs = -l/usr/local/lib
这段应该改为
gccflags = -g -wall -i/usr/local/include -i$(curdir)/include
libs = -l/usr/local/lib
ttt : main.o chessboard.o fileio.o neuralnetwork.o base.o engine.o train.o
g++ -o $@ $^ $(gccflags) $(libs)

以上是关于makefile生成的文件为啥不是可执行文件的主要内容,如果未能解决你的问题,请参考以下文章

一个makefile生成两个可执行文件,帮我看看哪错了

编写编译规则文件Makefile,并通过make生成可执行文件

Makefile常用万能模板(包括静态链接库动态链接库可执行文件)

Makefile常用万能模板(包括静态链接库动态链接库可执行文件)

Linux - 为啥我的可执行文件将 libpthread 作为共享库?

同时为静态库和可执行文件创建makefile