在 VC++(VS2010) 项目输出中包含 DLL
Posted
技术标签:
【中文标题】在 VC++(VS2010) 项目输出中包含 DLL【英文标题】:Including DLL's In VC++(VS2010) Project Output 【发布时间】:2011-09-15 09:07:06 【问题描述】:免责声明:我是一名 C# 开发人员,试图了解一些 C++ 基础知识
已经创建了一个命令行项目,其中包含链接器 > 输入 > 附加依赖项下链接的 DLL 文件的 .lib,并且还具有在 C/C++ > 常规 > 附加包含目录下指定的头文件的位置。运行构建并且所有编译都正常,.exe 构建在 Debug/Release 目录中。
问题是我还希望项目所依赖的 .dll 文件存在(就像在 .Net 项目中添加引用一样) - 但事实并非如此。启动 .exe 时,它抱怨找不到 DLL。很公平,但是如果 VC++ 知道它是必需的,为什么不把 DLL 放在那里呢?
除了手动复制它们之外,是否有“最佳实践”来确保依赖的 DLL 文件位于输出目录中?我有一个需要使用一些第三方库的项目,我希望 IDE 能帮助我管理它们...
非常感谢您提供的任何指导!
【问题讨论】:
【参考方案1】:如果您创建包含 exe 和 dll 的解决方案,则所有输出文件都在 $(SolutionDir) Debug 或 Release 子目录中创建,并且 exe 可以成功运行。否则,您有以下选择之一:
将构建后步骤中的 Dll 复制到可加载的目录(通常是 .exe 目录)
将 Dll 目录添加到 PATH。
【讨论】:
以上是关于在 VC++(VS2010) 项目输出中包含 DLL的主要内容,如果未能解决你的问题,请参考以下文章