Visual Studio 吐出 .lib 而不是 .dll
Posted
技术标签:
【中文标题】Visual Studio 吐出 .lib 而不是 .dll【英文标题】:Visual studio spitting out a .lib instead of a .dll 【发布时间】:2015-05-06 16:13:53 【问题描述】:我告诉 Visual Studio 构建一个 .dll,但无论我做什么,它都只构建一个 .lib。 我将配置类型设置为 .dll,扩展名设置为 .dll,在预处理器指令中我有“_WINDLL”,并且我将输出文件设置为“$(CommonProgramW6432)\VST3\Steinberg\ $(项目名称).dll" 。但是,它仍然每次都构建一个静态(.lib),我不知道为什么。我正在尝试从一个名为 Vst3 的 sdk 编译一个名为“AGain”的示例程序,如果你不介意为了帮助我而经历一场残酷的地狱般的噩梦,你可以到这里尝试编译它。
这是我构建 .lib 文件后它给我的警告
Warning 1 warning MSB8012:
TargetPath(C:\VST3 SDK\public.sdk\samples\vst\again\win\Win32\Debug\AGain.dll)
does not match the Linker's OutputFile property value
(C:\Program Files (x86)\Common Files\VST3\Steinberg\AGain).
This may cause your project to build incorrectly.
To correct this,
please make sure that $(OutDir),
$(TargetName) and $(TargetExt)
property values match the value specified in %(Link.OutputFile).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets 1137
这个问题直接出现,根本没有对源代码或项目进行任何更改。
【问题讨论】:
【参考方案1】:转到项目属性(alt+enter),然后在“配置属性”下找到“常规”选项卡。将“目标扩展”更改为“.dll”。现在,在“链接器”选项卡下,将“输出文件”字段留空。
【讨论】:
成功了!太感谢了!我想告诉你我怎样才能与你取得联系? 我很困惑。我在任何地方都没有看到链接器选项卡?我正在构建相同的 VST 示例,并将目标更改为 dll,但它仍然构建了一个 .lib以上是关于Visual Studio 吐出 .lib 而不是 .dll的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Visual Studio 2017 在 ASPNET Core 中排除 wwwroot\lib
Visual Studio XSD 工具:生成集合而不是数组