linux– 共享库的Makefile?

linux– 共享库的Makefile?,第1张

概述我刚刚编写了一个Makefile来构建一个共享库,类似于以下内容:libmystuff.so: CFLAGS+=-fPIC -shared libmystuff.so: libmystuff.o otherstuff.o $(CC) $(CFLAGS) -o $@ $^ 当这似乎是一种常见 *** 作时,我喜欢避免执行显式 *** 作,但似乎没有隐式规则或其他内置函

我刚刚编写了一个Makefile来构建一个共享库,类似于以下内容:

libmystuff.so: CFLAGS+=-fPIC -sharedlibmystuff.so: libmystuff.o otherstuff.o    $(CC) $(CFLAGS) -o $@ $^

当这似乎是一种常见 *** 作时,我喜欢避免执行显式 *** 作,但似乎没有隐式规则或其他内置函数来标准化它.我目前正在linux上使用GNU Make,但是它也需要在OS X上运行.

编辑:我问的是make规则而不是编译器/链接器标志.

你能推荐干净,可重用的Makefile规则来构建共享库吗?也许是%.so:或.c.so:类型规则?

最佳答案为了便于携带,我将研究集成libtool.

define compile_rule        libtool --mode=compile \        $(CC) $(CFLAGS) $(CPPFLAGS) -c $

libtool将根据需要自动添加-fPIC / -DPIC / -shared标志,并生成将在当前平台上使用的任何.o / .a / .so文件.

或者你可以使用Automake的libtool集成. 总结

以上是内存溢出为你收集整理的linux – 共享库的Makefile?全部内容,希望文章能够帮你解决linux – 共享库的Makefile?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)