Мне было очень трудно связать приложение C ++ с другой библиотекой C ++ с зависимостями Fortran90 (MinGW, TDM g ++ и gfortran). Я либо должен использовать gfortran для компоновки, либо приложение запускается при запуске (в глобальных конструкторах, связанных с __cxa_get_globals_fast). Однако это не приемлемо, я хотел бы использовать g ++ для компоновки (Qt GUI).
Мне кажется, что зависимости библиотек нельзя статически связать с gcc, связывание выполняется только при наличии main()
. Почему?
Я думаю, отчасти потому, что код для некоторых инициализаций должен быть вставлен перед main ().
Почему статически связанному приложению требуются DLL-ы , такие как mingwm10.dll или pthreadGCE2.dll во время выполнения? Почему они не могут быть статически связаны?
ОБНОВЛЕНИЕ: Я только что нашел эти сайты:
http://www.deer -run.com / ~ гал / золь-static.txt
http://www.iecc.com/linker/