如何为Linux下生成time.so的gcc编译命令编写对应makefile
Linux环境下实现对应编译功能的Makefile编写方案
你给出的原始编译命令中-home/存在格式问题,常规场景下如果是指定库搜索路径需改为-L/home/,同时编译共享库建议补充-fPIC参数生成位置无关代码,以下是对应功能的Makefile内容:
# 默认编译目标 all: time.so # 生成time.so的规则 time.so: time.c /libperi.a gcc -shared -fPIC -L/home/ time.c /libperi.a -o time.so # 清理生成文件的规则 clean: rm -f time.so
注意要点
- 编写时规则对应的命令行开头必须是Tab制表符,不能用空格,否则Make会报语法错误
- 如果你原命令里的
-home/有其他特殊用途,直接替换掉规则里的-L/home/为你实际需要的参数即可 - 保存文件名为
Makefile或者makefile都可以,在对应目录下执行make命令就能自动完成编译,执行make clean可以删除生成的time.so文件
内容的提问来源于stack exchange,提问作者dfsdf
相关产品推荐
相关产品推荐

