【发布时间】:2021-08-09 16:08:55
【问题描述】:
如何指向编译可执行文件以查找系统内部的dll?
我正在用这个命令编译。
g++ -Wall helloworld.cpp -o helloworld.exe
但要运行可执行文件,我需要在同一文件夹中包含一些 dll。
如何让程序指向系统dll?
或在编译时自动包含 dll。
我不是指静态链接。但动态链接。
但是在编译dll时自动复制到编译程序路径。
【问题讨论】:
如何指向编译可执行文件以查找系统内部的dll?
我正在用这个命令编译。
g++ -Wall helloworld.cpp -o helloworld.exe
但要运行可执行文件,我需要在同一文件夹中包含一些 dll。
如何让程序指向系统dll?
或在编译时自动包含 dll。
我不是指静态链接。但动态链接。
但是在编译dll时自动复制到编译程序路径。
【问题讨论】:
如果您不想要任何 DLL,那么您需要进行静态构建 (--static)。
DLL 依赖是由特定 DLL 中正在使用的函数引起的。因此,您不能只让它指向任何系统 DLL(除非您真的进行静态构建或至少使用 -static-libgcc 和/或 -static-libstdc++ 来避免为这些库使用共享库)。
或者您可以将 DLL 文件分发到与 EXE 文件相同的文件夹中。
要复制所有.dll 文件,您的.exe 取决于您可以使用您可以将copypedeps 与-r 标志一起使用,来自https://github.com/brechtsanders/pedeps
【讨论】: