如何在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)
。
我在 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)
。