Чтобы скомпилировать и связать исходный файл C с 64-битным мультибиблиотечным GCC, вы можете сделать следующее:
gcc -m32 -c somefile.c
gcc -m32 somefile.o -o myprog
Обратите внимание, что все 32-битные библиотеки должны быть установлены и использоваться мультибиблиотечным компилятором.
ar
должно работать, если построено правильно, не рекомендуется вызывать ld
напрямую, потому что его параметры радикально отличаются от GCC. Просто свяжись с GCC.
Относительно того, почему «не рекомендуется вызывать ld
напрямую»: если вы все gcc
будете ссылаться, он точно будет знать, где находятся системные / исполняемые библиотеки, а также о любых специфичных для платформы параметрах, которые ему необходимы. перейти к ld
. При прямом вызове ld
вам необходимо позаботиться обо всем этом. Здесь важны опции для 32-х и 64-х битных, а также правильные каталоги библиотек.