无法构建 PortAudio - "LNK1104: cannot open file 'ksguid.lib'"
Can't Build PortAudio - "LNK1104: cannot open file 'ksguid.lib'"
我是C/C++的初学者,请多多包涵。
我正在尝试构建 PortAudio 库,以便可以在我的一个项目中使用它。我正在使用 VS 2013,构建的预设项目文件必须转换为我的版本。我已经能够解决我在这里漫长的道路上发生的所有问题,除了一个:
LINK : fatal error LNK1104: cannot open file 'ksguid.lib'
我看过 this and this 网站。他们都解决了这个问题,但没有一个能够解决它。以下是这些网站建议的解决方案:
- 添加
WASAPI
- 符号到 portaudio.def
,
- 将
PA_WDMKS_NO_KSGUID_LIB
- 定义添加到预处理器
您可以从 Windows 7 SDK 中获取 ksguid.lib
文件。它甚至可能已经安装在您的计算机上。最好用资源管理器找到(大概C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
)
找到后,返回 Visual Studio 并转到 Project > Properties > Configuration-Properties > Linker > Input,然后点击Additional Dependencies右边的小箭头 并选择 编辑:
输入 ksguid.lib
的绝对文件路径。确保用 "
-s 包围它,并在末尾放置 ;
。 (否则会抛出一个没有可用描述的错误 - 我们所知道的 Microsoft。)
来源:Bitbucket, Whosebug
ksguid.lib 包含在 Windows 7、8、8.1 和 windows 10 sdk 中。 @Nearoo 提供的答案完全有效。这个替代答案涉及修改 portaudio Visual Studio 项目查找库文件的目录。
作为参考,我在 Windows 8.1 PC 上使用 Visual Studio 2013。
导航至:项目 -> 属性 -> VC++ 目录
在window、
的顶部
- 将配置更改为 "All Configurations"。
- 将平台更改为 "All Platforms"
在"Library Directories"部分,添加以下路径:
$(WindowsSdkDir)\Lib\winv6.3\km\$(PlatformTarget)\
一件好事是,这条路径使用了宏,因此它可以与调试、发布、32 位和 64 位版本的 portaudio 一起使用。
我是C/C++的初学者,请多多包涵。
我正在尝试构建 PortAudio 库,以便可以在我的一个项目中使用它。我正在使用 VS 2013,构建的预设项目文件必须转换为我的版本。我已经能够解决我在这里漫长的道路上发生的所有问题,除了一个:
LINK : fatal error LNK1104: cannot open file 'ksguid.lib'
我看过 this and this 网站。他们都解决了这个问题,但没有一个能够解决它。以下是这些网站建议的解决方案:
- 添加
WASAPI
- 符号到portaudio.def
, - 将
PA_WDMKS_NO_KSGUID_LIB
- 定义添加到预处理器
您可以从 Windows 7 SDK 中获取 ksguid.lib
文件。它甚至可能已经安装在您的计算机上。最好用资源管理器找到(大概C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
)
找到后,返回 Visual Studio 并转到 Project > Properties > Configuration-Properties > Linker > Input,然后点击Additional Dependencies右边的小箭头 并选择 编辑:
输入 ksguid.lib
的绝对文件路径。确保用 "
-s 包围它,并在末尾放置 ;
。 (否则会抛出一个没有可用描述的错误 - 我们所知道的 Microsoft。)
来源:Bitbucket, Whosebug
ksguid.lib 包含在 Windows 7、8、8.1 和 windows 10 sdk 中。 @Nearoo 提供的答案完全有效。这个替代答案涉及修改 portaudio Visual Studio 项目查找库文件的目录。
作为参考,我在 Windows 8.1 PC 上使用 Visual Studio 2013。
导航至:项目 -> 属性 -> VC++ 目录
在window、
- 将配置更改为 "All Configurations"。
- 将平台更改为 "All Platforms"
在"Library Directories"部分,添加以下路径:
$(WindowsSdkDir)\Lib\winv6.3\km\$(PlatformTarget)\
一件好事是,这条路径使用了宏,因此它可以与调试、发布、32 位和 64 位版本的 portaudio 一起使用。