gpt4 book ai didi

c++ - CMake:如何确定可执行文件所需的所有 .DLL/.SO 文件?

转载 作者:可可西里 更新时间:2023-11-01 17:58:57 30 4
gpt4 key购买 nike

假设我的程序需要多个 DLL 才能运行。我应该在我的发行版中向用户提供该 DLL。现在我需要 QtCore4.DLL、QtGui4.DLL、msvcp90.DLL、msvcr90.DLL、mylib.DLL、Kernel32.DLL...

如果 CMake 可以获得 DLL(或 .SO)文件的完整列表,那就太好了。然后我会从该列表中删除诸如“Kernel32.DLL”之类的项目,并将 DLL 复制到我的分发版中。

我不能保证下一个构建将在相同版本的 Visual Studio 上完成,因此硬编码路径如“C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90 .CRT"或 "E:\Qt\4.6.3"不适合搜索 DLL。

谢谢!

最佳答案

您可以使用 Dependency Walker在 Windows 上(或来自 visual studio 的 cmd-line dumpbin 工具)。然而,这并不是真正的 CMake 解决方案,也没有真正的 Cmake 标准解决方案。

然而,有 InstallRequiredSystemLibraries模块,您可以使用它来获取系统 dll(msvc[r|p]90.dll 与 msvc 和 mingw10.dll 与 mingw)。

关于c++ - CMake:如何确定可执行文件所需的所有 .DLL/.SO 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970845/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com