1

我正在我的机器上编译GHDL,或者使用:

  • AdaCore GNAT GPL 2017
    这是用于 Windows 的独立 Ada 编译器,可生成单个可执行文件;
    或与
  • MSYS2 / MinGW64 (GCC + GNAT + CLANG, CLANG++, ...)
    这是适用于 Windows 的 GCC 编译器工具链。它会生成一个可执行文件,该可执行文件需要安装目录中来自 MinGW 的少量 DLL。

是否可以添加链接器标志以将 DLL 集成到可执行文件中以减少传送文件的数量?

需要设置哪些标志才能将所需的依赖项合并到可执行文件中?


在这个GitHub 问题中,我列出了带有 LLVM 后端的 GHDL 的所有 DLL 依赖项:

  • libgcc_s_seh-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • zlib1.dll
4

1 回答 1

1

如果 MSYS2 开发人员构建了这些库的静态版本,则/mingw32/libor目录中可能有可用于这些东西的静态库。/mingw64/lib您可以尝试-static在链接步骤中将选项传递给 GCC,我认为如果它们可用,它将尝试使用静态版本。我不知道将 DLL 合并到可执行文件中的任何方法,您必须改为链接静态库。

于 2018-05-01T21:26:52.367 回答