【问题标题】:Portaudio.dll won't link properly in VSPortaudio.dll 无法在 VS 中正确链接
【发布时间】:2021-03-28 09:48:58
【问题描述】:

我在 Visual Studio 2019 上使用 C++,在尝试将我的项目链接到 PortAudio 时遇到问题。我收到错误“未找到 portaudio_x64.dll”。重新安装程序可能会解决此问题。 我已经在 Properties->Configuration properties->linker->Input->Additional dependencies 中链接到 portaudio.lib。我还将 .lib 文件所在的文件夹放在 Properties->Configuration properties->Linker->General->Additional library 目录中。 portaudio.h 所在文件夹的路径位于 Properties->Configuration properties->C/C++->General->Additional include 目录中。为了更好地衡量,我尝试在我的头文件选项卡中使用 portaudio.h 文件进行编译,而没有。 这里有人建议我将实际的 dll 文件复制到与我的解决方案相同的文件夹中。这在我使用 Crtl+F5 运行程序时有效,但是当我构建解决方案并打开 exe 时,我得到与以前相同的错误。我真的很难看到这个问题,任何帮助都会很棒

【问题讨论】:

    标签: c++ visual-studio portaudio


    【解决方案1】:

    EXE 使用的 DLL 需要与 EXE 运行所在的目录(您的当前工作目录)或系统 PATH(包括 C:\Windows\System32\ 之类的位置)位于同一目录中。

    这里有人建议我将实际的 dll 文件复制到与我的解决方案相同的文件夹中。这在我使用 Crtl+F5 运行程序时有效

    Visual Studio 在调试时设置的当前工作目录就是你的解决方案文件夹。

    但是当我构建解决方案并打开 exe 时,我得到了和以前一样的错误

    您在这里没有使用 Visual Studio:当前工作目录是您打开 EXE 的位置。如果在资源管理器中,它可能是 EXE 所在的文件夹。如果在 cmd.exe 中,它就是您导航到的任何位置!

    理想情况下,您应该将 DLL 保存在您的解决方案文件夹中,但将其作为依赖项或资源添加到您的项目中,以便在构建时将其复制到与您的 EXE 相同的位置。

    【讨论】:

    • 谢谢,这是有道理的。当您说我应该“将其作为依赖项或资源添加到我的项目中”时,这与我在屏幕截图中已经完成的有什么不同?抱歉,我对此很陌生
    • @ducksforever 试试this
    猜你喜欢
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多