【问题标题】:how to auto include dependent dll when compile?编译时如何自动包含依赖的dll?
【发布时间】:2021-08-09 16:08:55
【问题描述】:

如何指向编译可执行文件以查找系统内部的dll?

我正在用这个命令编译。

g++ -Wall helloworld.cpp -o helloworld.exe

但要运行可执行文件,我需要在同一文件夹中包含一些 dll。

如何让程序指向系统dll?

或在编译时自动包含 dll。

我不是指静态链接。但动态链接。

但是在编译dll时自动复制到编译程序路径。

【问题讨论】:

    标签: windows gcc g++ mingw


    【解决方案1】:

    如果您不想要任何 DLL,那么您需要进行静态构建 (--static)。

    DLL 依赖是由特定 DLL 中正在使用的函数引起的。因此,您不能只让它指向任何系统 DLL(除非您真的进行静态构建或至少使用 -static-libgcc 和/或 -static-libstdc++ 来避免为这些库使用共享库)。

    或者您可以将 DLL 文件分发到与 EXE 文件相同的文件夹中。 要复制所有.dll 文件,您的.exe 取决于您可以使用您可以将copypedeps-r 标志一起使用,来自https://github.com/brechtsanders/pedeps

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2013-04-21
      • 2020-02-14
      • 1970-01-01
      • 2017-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多