У меня есть этот makefile
libjackpot.a: jackport.o jackpot.o
ar -rcs jackport.o jackpot.o
jackpot.o: jackpot.cpp jackpot.h
g++ jackpot.cpp -std=c++11 -O2 -c
jackport.o: jackport.cpp jackpot.h jackport.h
g++ jackport.cpp -std=c++11 -O2 -c
Каким-то образом (на моей коробке с Linux) я получаю
ar: jackport.o: File format not recognized
дает помощь
ar: supported targets: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
файл jackport.o
jackport.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
Вам нужно указать имя библиотеки для ar, например:
ar -rcs libjackpot.a jackport.o jackpot.o
Других решений пока нет …