我在VS13中有一个项目,我需要它包含一些使用CMake和VS编译的库。我有一对二进制文件用于调试和发布模式。它们都具有相同的名称,例如example.lib和example.dll都用于调试和发布版本。
虽然我可以单独指定哪个example.lib文件需要包含到一个项目中,通过简单地将文件重命名为example_d.lib example_r.lib文件来更改发布和调试模式中的* .lib文件,它仍然会进行搜索对于example.dll文件,无论如何。因此,每次我从发布版本更改为调试版本时,我都需要将example.dll从一个版本交换到另一个版本,然后重新开始。
我的问题是如何指定包含某些 dll和lib 文件的目录,或者如何指定某个dll文件名以将其包含到项目中? 感谢。
答案 0 :(得分:0)
您可以手动尝试编辑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>
答案 1 :(得分:0)
问题是您重命名.lib
文件,但不要更改.dll
内的.lib
名称。
正确的解决方案是在构建DLL时更改项目设置,以在名称中包含$(Configuration)
。