makefile的高级应用
事件
王星学长要在翻译系统中加入肖欣岩写的神经网络系统。
神经网络系统由C++写成,%.a标准库,makefile自动编译。
翻译系统有C++和python写成,boost库,非自动编译,罗列了详细的逻辑关系。
矛盾
翻译系统中的文件留出了空函数,作为丰富翻译系统的接口。如果只是简单的把神经网络系统makefile中的OBJECTs和SOURCES拷贝进翻译系统中的makefile中,会出现编译错误。
猜测错误原因:
- 库:不能同时采用两种库
- 编译顺序:因为把神经网络系统写到翻译系统里去,所以会出现原函数和插入函数交叉编译,两种函数又依赖不同的库,所以出问题了。
解决办法(只是推测,并未执行)
- 库:让两种库能同时编译
- 转换:boost库转成%.a库,或者%.a库转成boost库
- 重写:改成同一种库
知识点
- makefile可以添加库
- makefile把C++和python融合在一起