我对otool
和nm
为特定静态库生成的符号列表的不同感到困惑。我试图链接一些静态库来创建最终的可执行文件,但链接器抱怨Undefined symbols: "_main", referenced from: _main$non_lazy_ptr in crt1.o
。如果我在其中一个库(nm
)上libext.a
,我会看到_main
在名为main.o
的文件中定义。但是,如果我在同一个库上执行了otool-s
,我会看到档案的_main
部分中没有__.SYMDEF
。如何强制_main
包含在此部分中?在库上执行ranlib -c
没有帮助。