最近帖子
标签筛选 #gnu · 共 2 条
提问: CC=clang LD=clang ./configure make 用以上命令构建 Autotools 项目 (项目中有共享库目标), 正确嘛🤓 答案是否定的,Autotools 不支持 LD=clang 这种玩法! 虽然在各种构建系统 (包括 Makefile) 中 LD=clang 或类似做法很常见, 但 Autotools 中 LD 只能是真的 LD (ld/lld/gold...), 不支持 Compiler Driver. 并且, 我还发现一个问题, 就是如果你用上面的命令去构建项目, make 过程中共享库既不会生成, 也不会报错😇 对此我暂时蒙在鼓里 (有待深究,有兴趣的读者可以自建一个 Autotools 项目测试,很容易复现) --- 今天注意到这个问题因为我正在尝试用 zigcc 编译 lame, 而 libmp3lame.so 却神秘的未生成, 导致后续链接 lame 时出错... 另一个问题: zig 没有文档记录的内部 LD 访问方式 Usage: zig [command] [options] Commands: ... ar Use Zig as a drop-in archiver cc Use Zig as a drop-in C compiler c++ Use Zig as a drop-in C++ compiler dlltool Use Zig as a drop-in dlltool.exe lib Use Zig as a drop-in lib.exe ranlib Use Zig as a drop-in ranlib objcopy Use Zig as a drop-in objcopy rc Use Zig as a drop-in rc.exe 但实际上是有的 zig ld.lld (source: 1, 2) zig 其他的一些文档未记录的内置工具: zig lib zig lld-link zig wasm-ld zig rc (我觉得他们只是忘了在 help 里加上了) #GNU
Hashtags
https://github.com/autotools-mirror/libtool/commit/9c7772f8a6924ff0d1ad6385e12c56baed96dd71 感觉也是很逆天了,libtool 在两周前才修复 --target 未被透传给 compiler/linker 的问题(这个补丁包含在 libtool 2.6.0 中) 我没理解错的话,这意味着这么长时间里使用 autotools (with libtool) 的项目应该是一直是没法用 android ndk 构建的,直到两周前才有人管一下这个事。 #GNU
Hashtags