问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用makefile?

发布网友 发布时间:2022-05-03 05:37

我来回答

5个回答

热心网友 时间:2023-10-11 10:59

以hello_test.c文件为例
1.创建程序
在linux控制台界面下 ,输入vi hello_test.c,输入i进入编辑插入模式,输入代码如下:
#include <stdio.h>
int main(void)
{
printf("Hello,Word!/n");
return 0;

}
用gcc编译程序
输入命令:gcc hello_test.c
输入命令:ls
显示:a.out hello_test.c
输入命令:./a.out //执行程序
2.使用Makefile
(1)创建Makefile,在hello_test.c所在目录输入 vi Makefile
(2)输入Makefile内容。在vi插入模式下输入:
hello_test : hello_test.c
gcc -o hello_test hello_test.c //特别注意 gcc前面不是空格,而是tab间隔符,否则会出现makefile:2: *** 遗漏分隔符错误
clean :
rm -fr hello_test *.o *.core
(3)输入make,屏幕输出 gcc -o hello_test hello_test.c,表示编译已经通过。
生成 hello_test。

热心网友 时间:2023-10-11 10:59

make工具,只是一个批处理工具。如果只是使用makefile,那么只要有make.exe这个文件就可以了。
make工具会根据makefile里面的信息来编译程序。在makefile里面,一般指定了用什么编译器,用什么程序链接,以及需要那些库的支持,还有一些其它的设置。

如果你没有相应的编译工具和库的支持,make会出错的。所以,你必须要先弄清楚,你拿到的c程序,需要什么样的环境才能编译。一般来说,你看看它C头文件和makefile里面的信息就应该能知道。

热心网友 时间:2023-10-11 11:00

出现这样的连接错误的话,可能是因为你的源文件里指定的这个函数所在的库文件不存在,或者那个库文件存在但却不是为你的电脑的cpu结构build的。如果你确定你有那个库文件,那么你需要在连接的时候告诉连接器你需要依赖这个库文件,并且把路径告诉它。如果还不成功的话,那么就可能是你需要合适的cpu结构的那个相同的库文件,就是amd64,itanium,x86之类的。

热心网友 时间:2023-10-11 11:00

makefile
就是告诉make程序怎么编译文件。比如说要生成可执行程序my_exe.exe.该程序需要三个文件a1.c
a2.c

a3.c
那么你的makefile文件就可以写为
my_exe.exe:
a1.o
a2.o
a3.o
ld
-o
my_exe.exe
a1.o
a2.o
a3.o
%.o
:
%.c
cc
-o
$@
$<
第一段是说我要生成文件my_exe.exe需要三个.o文件;要是都有就会执行下面的链接命令;;;如果有的.o不存在就会执行下面那段代码。下面的意思是一个.o文件依赖于与它同名的。c要是这个.c文件存在,则编译并成.o,若还不存在就会报错

热心网友 时间:2023-10-11 11:01

怎么执行呢
比如我是一个10.c和ghl.h的文件,10.c里有程序;
edit:10.c
ghl.h
gcc
-o
edit
10.c
clean:
rm
edit
10.o
修改makefile文件,注意gcc之前是一个tab键
然后make,就会在当前目录下会生成edit可执行文件,
./edit
即可执行

热心网友 时间:2023-10-11 10:59

以hello_test.c文件为例
1.创建程序
在linux控制台界面下 ,输入vi hello_test.c,输入i进入编辑插入模式,输入代码如下:
#include <stdio.h>
int main(void)
{
printf("Hello,Word!/n");
return 0;

}
用gcc编译程序
输入命令:gcc hello_test.c
输入命令:ls
显示:a.out hello_test.c
输入命令:./a.out //执行程序
2.使用Makefile
(1)创建Makefile,在hello_test.c所在目录输入 vi Makefile
(2)输入Makefile内容。在vi插入模式下输入:
hello_test : hello_test.c
gcc -o hello_test hello_test.c //特别注意 gcc前面不是空格,而是tab间隔符,否则会出现makefile:2: *** 遗漏分隔符错误
clean :
rm -fr hello_test *.o *.core
(3)输入make,屏幕输出 gcc -o hello_test hello_test.c,表示编译已经通过。
生成 hello_test。

热心网友 时间:2023-10-11 10:59

make工具,只是一个批处理工具。如果只是使用makefile,那么只要有make.exe这个文件就可以了。
make工具会根据makefile里面的信息来编译程序。在makefile里面,一般指定了用什么编译器,用什么程序链接,以及需要那些库的支持,还有一些其它的设置。

如果你没有相应的编译工具和库的支持,make会出错的。所以,你必须要先弄清楚,你拿到的c程序,需要什么样的环境才能编译。一般来说,你看看它C头文件和makefile里面的信息就应该能知道。

热心网友 时间:2023-10-11 11:00

出现这样的连接错误的话,可能是因为你的源文件里指定的这个函数所在的库文件不存在,或者那个库文件存在但却不是为你的电脑的cpu结构build的。如果你确定你有那个库文件,那么你需要在连接的时候告诉连接器你需要依赖这个库文件,并且把路径告诉它。如果还不成功的话,那么就可能是你需要合适的cpu结构的那个相同的库文件,就是amd64,itanium,x86之类的。

热心网友 时间:2023-10-11 11:00

makefile
就是告诉make程序怎么编译文件。比如说要生成可执行程序my_exe.exe.该程序需要三个文件a1.c
a2.c

a3.c
那么你的makefile文件就可以写为
my_exe.exe:
a1.o
a2.o
a3.o
ld
-o
my_exe.exe
a1.o
a2.o
a3.o
%.o
:
%.c
cc
-o
$@
$<
第一段是说我要生成文件my_exe.exe需要三个.o文件;要是都有就会执行下面的链接命令;;;如果有的.o不存在就会执行下面那段代码。下面的意思是一个.o文件依赖于与它同名的。c要是这个.c文件存在,则编译并成.o,若还不存在就会报错

热心网友 时间:2023-10-11 11:01

怎么执行呢
比如我是一个10.c和ghl.h的文件,10.c里有程序;
edit:10.c
ghl.h
gcc
-o
edit
10.c
clean:
rm
edit
10.o
修改makefile文件,注意gcc之前是一个tab键
然后make,就会在当前目录下会生成edit可执行文件,
./edit
即可执行
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
属羊与什么相冲相克 羊跟哪个属相犯冲 行人闯红灯撞死人怎么判 阴历还是阳历如何看 备孕期间喝什么汤去火 备孕适合喝什么汤好 备孕的时候可以补充铁吗 备孕喝什么汤有助于怀孕 辨正、辨证、辩证的关系是什么? 严究的解释 6388、6376的意思是什么 关于makefile.am的INCLUDES问题 怎样屏蔽linux内核printk( ) 打印信息 makefile问题 makefile能不能接受输入参数 UNIX系统中make clear ,make all是什么命令? 笔记本如何使用外加摄像头 makefile怎么打印环境变量 如何让makefile 执行的时候打印所有命令 怎样在makefile中加入打印语句 如何在makefile中添加打印信息 游泳对尿酸高有好处吗 格力变频空调怎么自热不好怎么办 空调不是很热什么原因? 格力挂壁式变频空调开26度不是很热,屋里都达不到20度,暖气加空调室内勉强21度~ 我家是美的变频空调,开启制热功能,28°感觉出风口的温度不是很热, 德国MOLLET有没有导波雷达料位计?请提供技术参数? 导波雷达料位计的简介 如何使用lg200导波雷达物位计 导波雷达液位计和磁翻板液位计的区别 高频低频雷达液位计与波导式雷达液位计区别在哪 Linux makefile&shell的一个问题 在makefile中怎么用echo或其他命令输出&quot;$&quot;字符 qq空间的背景皮肤怎么能设置成虚化的? Makefile编译时怎么打印出变量值 怎么才能把QQ空间弄成透明的 qq皮肤背景图片怎么弄透明 笔记本玩英雄联盟fps低怎么办 用笔记本玩LOLFPS值很低怎么办? 女性保养卵巢吃什么保健品好? 女性卵巢保养吃什么营养品好? 如何保护卵巢不早衰,吃什么保养好? 怎样保护卵巢不早衰,吃什么保养好? 如何卵巢保养,推荐吃什么营养品? 卵巢衰退吃什么东西保养卵巢 王者荣耀元歌怎么玩 元歌玩法攻略推荐 卵巢功能不好应该吃啥保养? 保养卵巢吃什么保健品效果好 王者元歌哪个地方战区战力3500就可以上省榜? 王者荣耀元歌怎么玩 元歌技能连招出装铭文攻略 王者荣耀:新英雄元歌怎么玩,怎么操作技能