【问题标题】:Visual Studio 2010 C++ DLL project - No output DLL file!Visual Studio 2010 C++ DLL 项目 - 没有输出 DLL 文件!
【发布时间】:2010-05-12 07:34:13
【问题描述】:

我可以编译 DLL 项目而没有任何错误。它说“构建成功”。 但我在 Debug 或 Release 文件夹中没有看到任何 DLL 文件。

只有 .exp、.lib 和 .pdb 文件

【问题讨论】:

  • 您能描述一下您为项目设置的文件夹,并给出 VS 的任何构建输出吗?
  • 听上去,如果你说没有输出DLL,显然链接步骤不起作用。为了确认并避免我们所有的猜测,请发布编译输出的日志。我怀疑链接阶段没有发生,因为没有生成 DLL。我们在这里处于黑暗之中。您能否发布更多线索...输出是什么,编译器输出是什么。
  • 您发现问题了吗?我正在经历同样的事情

标签: c++ dll


【解决方案1】:

Visual Studio 2010 默认将输出文件放在$(SolutionDir)\Debug$(SolutionDir)\Release 中。您很可能正在查看项目中的 Debug 和 Release 文件夹——它们是中间文件夹。

要找出输出文件的位置,请打开项目属性 > 常规 > 输出目录。默认情况下,$(SolutionDir)$(Configuration)\ 在您的解决方案目录中评估为 Debug 或 Release。

EDIT Visual Studio 会告诉您输出文件在输出窗口中的位置。只需转到“查看>输出”即可。它会这样说:

1> MFCInterop.vcxproj -> C:\temp\sotest\Debug\MFCInterop.dll
==========全部重建:1成功,0失败,0跳过==========

【讨论】:

  • 不.. 我到处找。整个项目文件夹(及其子文件夹)中没有单个 DLL。
  • 也许听起来很明显,但您是否尝试重建它而不是一般的“构建”选项?
  • @prolog,不要看project文件夹,看solution文件夹。
  • 解决方案目录通常比项目目录高一级。您可以打开输出窗口并查看构建日志吗?它会告诉你 dll 的去向。
【解决方案2】:

我在使用 C# 和 VB 时遇到问题,其中 VS 不会创建输出文件。 根本问题似乎是它失去了对参考的尊重。

我这样拍很麻烦

  1. 排除所有文件
  2. 添加存根 class1 文件/编译/验证文件已创建
  3. 一一添加文件,最终您可以确定问题所在

    对我来说,问题是 .Net 版本不匹配。引用的版本高于失败的项目

没有回答为什么 VS 在这种情况下不会产生编译错误。 如果我完全删除引用,它肯定会抱怨。

格雷格

【讨论】:

    【解决方案3】:

    在底部显示来自: 改为构建 查看标识的文件夹。

    【讨论】:

      猜你喜欢
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多