У меня есть программа fortran, которую я хотел бы распространять, поэтому мне хотелось бы статически ссылаться в библиотеках gfortran.
Если я скомпилирую программу со следующими флагами:
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/, а компоновщик затем вставляет статическую библиотеку.
Однако это кажется несколько неуклюжим, если не сказать больше.
Может ли кто-нибудь предложить более элегантный способ сделать это?
Спасибо!