当前位置: 技术问答>linux和unix
编译多个模块
来源: 互联网 发布时间:2017-04-20
本文导语: 一个项目有多个模块,它们之间有依赖关系,怎么写一个Makefile 才能把这些模块的符号表导出到一个Module.symvers 文件里,写了很久,就是没搞出来。现在的办法是根据依赖关系去拷指定的Module.symvers 文件,感觉不是...
一个项目有多个模块,它们之间有依赖关系,怎么写一个Makefile 才能把这些模块的符号表导出到一个Module.symvers 文件里,写了很久,就是没搞出来。现在的办法是根据依赖关系去拷指定的Module.symvers 文件,感觉不是很方便,如果有的模块依赖多个其他的模块,经常就会出错,如果能把所有的符号表导出到一个或是所有模块的Module.symvers 文件里就好了。不知道可不可行,请高手指点
|
你不就是想把所有的符号表导出到一个文件中吗?为什么一定要在MAKEFILE上做文章呢?、
换个思路想想,其实只需要编译完成后,把生成的符号表文件合并到一个统一的符号表文件中就行了。合并文件应该比较简单吧,随便找个脚本工具就能轻松搞定了
换个思路想想,其实只需要编译完成后,把生成的符号表文件合并到一个统一的符号表文件中就行了。合并文件应该比较简单吧,随便找个脚本工具就能轻松搞定了
|
怎么没有人说autotools automake之类的东西来生成makefile~
|
源文件数目多吗
不多的话,全量编译得了呵
不多的话,全量编译得了呵
|
大型的软件都是多个Makefile,分层来处理问题。。。。。一个就全解决的似乎很少见。
|
测试的例子,输出符号表到map文件
gcc -o mtest -I ./ main.cpp -L . -ltest -lstdc++ -Wl,-Map,aa.map
gcc -o hello hello.c -Wl,-Map,test.map
gcc -o mtest -I ./ main.cpp -L . -ltest -lstdc++ -Wl,-Map,aa.map
gcc -o hello hello.c -Wl,-Map,test.map
|
编译成库,用到的库链进来。
|
链接即可:
CFLAGS += -I/你的源代码目录
LDFLAGS += -L/你的.so/.a库目录.
CFLAGS += -I/你的源代码目录
LDFLAGS += -L/你的.so/.a库目录.
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。