У меня есть программа fortran, которую я хотел бы распространять, поэтому я бы хотел статически ссылаться в библиотеках gfortran.Правильный способ статической ссылки в библиотеках gfortran на OSX
Если я скомпилировать программу со следующими флагами:
gfortran -o myprog -static-libgfortran -static-libgcc myprog.f
otool рассказывает мне, что это статически скомпонованный в большинстве gofrtran библиотек, но не libquadmath:
otool -L myprog
/usr/local/gfortran/lib/libquadmath.0.dylib (compatibility version 1.0.0, current v
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
Существует статический libquadmath библиотека /usr/local/gfortran/lib/libquadmath.a
, но каждая линия ссылок, которую я пробовал, всегда либо заканчивалась полной статической ссылкой (которая не поддерживается в OSX), либо динамической ссылкой на libquadmath.
Мне удалось создать то, что я хочу, удалив libquadmath.0.dylib и libquadmath.dylib из/usr/local/gfortran/lib /, а компоновщик затем вставляет статическую библиотеку.
Однако это кажется несколько неуклюжим, если не сказать больше.
Может ли кто-нибудь предложить более элегантный способ сделать это?
Спасибо!