Меня смущает различие в списках символов, создаваемых 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
в библиотеке не помогает.