如何在visual studio13中指定需要包含哪个dll

How to specify in visual studio 13 which dll needs to be included

我在 VS13 中有一个项目,我需要它包含几个使用 CMake 和 VS 编译的库。我有一对用于调试和发布模式的二进制文件。它们都有相同的名称,让我们说 example.lib 和 example.dll 用于调试和发布版本。

尽管我可以单独指定需要将哪个 example.lib 文件包含到项目中,只需将文件重命名为 example_d.lib [=23] 即可在发布和调试模式下更改 *.lib 文件=] 文件,它仍然会在任何情况下搜索 example.dll 文件。因此,每次我从发布更改为调试时,我都需要将 example.dll 从一个交换到另一个,然后再交换回来。

我的问题是如何指定包含某些dll 和lib 文件的目录,或者如何指定某个dll 文件名以将其包含到项目中? 谢谢

您可以尝试手动编辑 vcxproj 文件并添加如下内容:

<ItemGroup Condition="'$(Configuration)' == 'Debug'">
    <Reference Include="MyLib">
      <HintPath>..\..\Debug\MyLib.dll</HintPath>
    </Reference>
  </ItemGroup>

  <ItemGroup Condition="'$(Configuration)' == 'Release'">
    <Reference Include="MyLib">
      <HintPath>..\..\Release\MyLib.dll</HintPath>
    </Reference>
  </ItemGroup>

问题是您重命名了 .lib 文件,但没有更改 .lib.

中的 .dll 名称

正确的解决方案是在构建 DLL 时更改项目设置,以在名称中包含 $(Configuration)