make -jN, make -j 都容易异常啊,不得不回归 make

2020-07-03 18:10:18 +08:00
 sgissb1
最近在编译一些代码时,发现很容易出现多个 job 编出来的库或可执行文件会有奇奇怪怪的问题。就算先 make clean 也不行。
而老老实实的 make 就没有这个问题。

生产、编译环境又很老( 2014 年的 linux 开发、编译环境),所以没法升级。真心坑,这样下去,快要进入庄家模式了。。。。。
1267 次点击
所在节点    问与答
5 条回复
codehz
2020-07-03 18:33:41 +08:00
这种多半是 makefile 没写对,依赖了某些副作用但是又没告诉 gnu make
(举例:一条命令生成多个目标,但是只指定了其中一个
optional
2020-07-03 19:03:02 +08:00
make clean 才会出问题啊,第一遍 make,然后增量用 make -j 不容易出问题
CheekiBreeki
2020-07-03 19:15:52 +08:00
@optional make clean 我都重新 clone .....
GeruzoniAnsasu
2020-07-03 19:21:28 +08:00
通常是因为 makefile 的依赖没写好导致并行编译了互有依赖的过程

比如本来 A 依赖 B 编译时自动生成的配置,B 没编译时用占位数据来代替,这样就并行就会编译出不正常的 A
bitdepth
2020-07-03 21:12:33 +08:00
改用 ninja 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/686975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX