举几个小例子:
1、链接时,总是报有几个符号找不到。
AI直接上--whole-archive的选项,要把依赖到的某个.a全部塞到最终产物里。
我说,我们这编译的不是静态库,也不是动态库,是exe,你把不需要的玩意儿塞进去干啥?
当然,这不影响运行,只是产物可能变大(取决于linker的实现)。
2、链接选项改了几次,最终产物的导入表里始终有libstdc++.so.6。
AI搞的方案是用patchelf修改导入表来抹掉libstdc++.so.6,因为它认为已经显式用了-static-libstdc++静态链接了stdc++的代码进去了,只是某个地方可能还用了-lstdc++使得导入表多了一项名字而已,而且把能找到的-lstdc++都干掉了。
我说,你这是hack,禁止用hack方式,改用正规方式搞定这个问题。
--
FROM 123.122.126.*