【发布时间】:2021-01-13 05:54:17
【问题描述】:
我编译了一个simple Ada application,它使用Win32Ada 库。
我正在 Windows 上编译应用程序:
gnatmake C:\GNAT\2020\bin\src\main.adb -I"C:\GNAT\2020\lib\win32ada" -largs -lwin32ada.
应用程序在编译机上按预期工作,并且在执行 main.exe 时会执行 MessageBox。
但是,当尝试在另一个没有安装 Ada 库的 Windows 系统上执行应用程序时,我收到了一个错误:
Ada 是否支持静态编译?
我是否可以编译应用程序,以便 main.exe 可以在任何 Windows 主机上执行,而无需捆绑 DLL 的?
我在gnatmake --help 中找不到答案(但我也是Ada 的新手)。
【问题讨论】:
-
为什么不在第二台机器上安装库?静态链接 Windows GUI 程序可能会产生相当大的可执行文件。
-
我想与 Windows API 交互,不一定要创建 GUI。 MessageBox 只是一个与 API 交互的 PoC。
标签: windows compilation static ada gnat