Я использую gnatmake
для создания своего проекта Ada и получаю следующее предупреждение:
Warning: resolving _LoadLibraryA by linking to _LoadLibraryA@4
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _GetProcAddress by linking to _GetProcAddress@8
Я пытаюсь передать --endable-stdcall-fixup
в gnatmake
, но утверждает, что это не переключатель, как я могу передать параметры компоновщика через gnatmake
?
gnatmake --enable-stdcall-fixup main.adb
gnatmake: invalid switch: --enable-stdcall-fixup
(1) РЕДАКТИРОВАТЬ:
После использования изменений, предложенных в ответе, я все еще получаю ту же ошибку, но на этот раз она, похоже, правильно передается компоновщику.
gnatmake main.adb -f -largs --enable-stdcall-fixup
gcc -c main.adb
gcc -c winapi.ads
gnatbind -x main.ali
gnatlink main.ali --enable-stdcall-fixup
Warning: resolving _LoadLibraryA by linking to _LoadLibraryA@4
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
Warning: resolving _GetProcAddress by linking to _GetProcAddress@8
-largs -foo
означает передать-foo
gnatlink; но gnatlink является внешним интерфейсом к реальному компоновщику и может не передавать его туда, где он нужен. Попробуйте-largs -Wl,--enable-stdcall-fixup
(-Wl
означает переход к фактическому компоновщику,-Wc
к фактическому компилятору) - person Simon Wright   schedule 25.05.2018