Объектные файлы неправильно добавлены в архив на Mac
Я пытаюсь создать архив из коллекции объектных файлов. Я делаю это с
ar -rs my_archive.a foo.o bar.o other_object_files.o
.
На Linux-машине все в порядке, но когда я пытаюсь выполнить ту же самую команду на моем Mac, кажется, что добавляются только некоторые объектные файлы. Это приводит к неопределенным символам, соответствующим подпрограммам, скажем,other_object_files.o
.
Более того, если я попытаюсь вручную связать объектные файлы, которые привели к неопределенным символам, я могу правильно построить исполняемый файл.
То есть
ifort -o my_exec main.o other_object_files.o my_archive.a
работает отлично.
Мне не хватает разницы между Linux и Mac по этому поводу?
РЕДАКТИРОВАТЬ
Отnm other_object_files.o
символы выглядят хорошо, поэтому они действительно неправильно добавлены в архив.
Вот несколько строкmy_archive.a
файл как в Linux, так и в Mac (имена объектов и файлов архивов, конечно, разные)
Linux:
ed_2.1-opt.a:decomp_coms.o:0000000000000000 T decomp_coms._
ed_2.1-opt.a:decomp_coms.o:0000000000000038 R decomp_coms___debug_param_const
ed_2.1-opt.a:decomp_coms.o:0000000000000030 D decomp_coms_mp_cwd_frac_
ed_2.1-opt.a:decomp_coms.o:0000000000000008 D decomp_coms_mp_decay_rate_fsc_
ed_2.1-opt.a:decomp_coms.o:0000000000000000 D decomp_coms_mp_decay_rate_ssc_
ed_2.1-opt.a:decomp_coms.o:0000000000000010 D decomp_coms_mp_decay_rate_stsc_
ed_2.1-opt.a:decomp_coms.o:0000000000000004 C decomp_coms_mp_decomp_scheme_
ed_2.1-opt.a:decomp_coms.o:0000000000000044 C decomp_coms_mp_f_labile_
Mac:
ed_2.1-opt.a:decomp_coms.o: 0000000000000000 T _decomp_coms._
ed_2.1-opt.a:decomp_coms.o: 000000000000058c S _decomp_coms._.eh
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_cwd_frac_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_fsc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_ssc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decay_rate_stsc_
ed_2.1-opt.a:decomp_coms.o: 0000000000000010 C _decomp_coms_mp_decomp_scheme_
ed_2.1-opt.a:decomp_coms.o: 0000000000000050 C _decomp_coms_mp_f_labile_
РЕДАКТИРОВАТЬ
Пробовал также
libtool -static -arch_only x86_64 -o my_archive.a foo.o bar.o other_object_files.o
после этого ТАКсообщение но опять нет прогресса.