Visual studio 2010 使用Visual Studio 2010静态链接依赖项

Visual studio 2010 使用Visual Studio 2010静态链接依赖项,visual-studio-2010,dll,static,vst,Visual Studio 2010,Dll,Static,Vst,我有一个使用VisualStudio在Windows上构建的VST插件。它依赖于两个库(FFTW和Speex)。我能够将这些链接到项目,并进行编译-到目前为止一切顺利 但是,问题是我无法在不需要运行时使用.dll文件的情况下编译插件-我在本网站的其他地方查找过,找到了一些建议,并在Visual Studio中尝试了以下操作: 确保配置->链接器->输入->其他依赖项包含我要链接的.lib文件 确保配置->链接器->其他库目录包含my.lib文件的目录 确保配置->C/C++->代码生成->运行

我有一个使用VisualStudio在Windows上构建的VST插件。它依赖于两个库(FFTW和Speex)。我能够将这些链接到项目,并进行编译-到目前为止一切顺利

但是,问题是我无法在不需要运行时使用.dll文件的情况下编译插件-我在本网站的其他地方查找过,找到了一些建议,并在Visual Studio中尝试了以下操作:

  • 确保配置->链接器->输入->其他依赖项包含我要链接的.lib文件

  • 确保配置->链接器->其他库目录包含my.lib文件的目录

  • 确保配置->C/C++->代码生成->运行时库设置为多线程/MT

然而,当我使用Dependency Walker()检查时,我的插件仍然需要.dll文件

如果VST具有.dll依赖项,则我希望使用该插件的主机无法加载VST(我尝试了另一台主机,只要.dll文件与插件.dll文件位于同一目录中,它就可以正常工作)

我真的希望这个插件静态链接到这些库,有人能帮忙吗

谢谢

亚当


p、 作为检查,我制作了一个没有依赖项的简单插件,并对其进行了编译,该插件加载到主机中没有问题

显然您链接了错误的.lib文件。DLL的导入库也具有.lib文件扩展名。您需要获取这些组件的静态库构建。并非总是可用,它们非常依赖于特定的编译器和CRT版本。这样一来,DLL就不会那么麻烦了。总是从源头上构建以避免痛苦。非常感谢您的回复。我根据这个页面从.def文件创建了.lib文件:-是否有一些命令强制它们成为静态版本?它总是创建一个导入库。不,当然不是。