簡體   English   中英

找不到 Visual Studio 2017 依賴的 .dll

[英]Visual Studio 2017 dependent .dll not found

我正在使用我想在我的項目中使用的外部 API 開發語音識別兒童游戲。 所述API有lib文件、dll文件、頭文件和cpp文件。 到目前為止,我已經成功地將庫文件(至少我認為我有)添加到了我的項目目錄中,將所有必要的頭文件添加到了外部依賴項中,並且我需要將兩個 .dll 文件添加到我的項目中。 首先,我添加了我的 Audio.dll 文件,它被完美添加,沒有任何問題。 其次,我添加了 Speech.dll,這就是我的問題出現的地方。 我的調試錯誤列表中沒有收到任何錯誤,但是,我的項目輸出如下所示:

'Project.exe' (Win32): Loaded 'C:\Path\Project.exe'. Symbols loaded.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\mscoree.dll'. Cannot find or open the PDB file.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbased.dll'. Cannot find or open the PDB file.
'Project.exe' (Win32): Loaded 'C:\Windows\System32\vcruntime140d.dll'. Cannot find or open the PDB file.
The thread 0x3274 has exited with code -1073741515 (0xc0000135).
The thread 0x198c has exited with code -1073741515 (0xc0000135).
The program '[17020] Project.exe' has exited with code -1073741515 (0xc0000135) 'A dependent dll was not found'.

在此之后,我收到一個彈出系統錯誤:代碼執行無法繼續,因為找不到 Speech.dll。 重新安裝程序可能會解決此問題。

沒有提到 Audio.dll,但是,沒有找到與 Audio.dll 位於同一文件夾中的 Speech.dll。 我嘗試重新安裝 .dll,嘗試重新安裝 Visual Studio 2017,嘗試添加->現有項目->.dll,嘗試將 dll 添加到 .exe 所在的項目路徑中,並嘗試將其添加到每個文件夾/subfolder 都接收到與我的輸出相同的序列。

我的問題是,如何讓我的 Visual Studio 2017 項目識別我的 Speech.dll 文件?

請確保speech.dll存在於您的project.exe所在的同一文件夾中。

Windows 按以下順序搜索dll

  1. 您的應用程序文件夾
  2. \\windows\\system32
  3. 等,根據 Windows 定義的路徑

請確保dll存在於這些文件夾中的任何一個中,否則您將收到dll丟失的錯誤。

注意:如果您正在調試,請確保您已正確設置調試工作目錄以指向包含project.exedll的文件夾。

在 Visual Studio 2019 中(我不知道這是否適用於早期版本),您可以將 DLL 作為構建過程的一部分進行復制。 基本上你需要在你的項目中添加一個構建后事件 構建后事件會將 DLL 復制到您的構建輸出目錄。

要指定構建事件,請參閱:

https://docs.microsoft.com/en-us/cpp/build/specifying-build-events?view=msvc-160

您將用於構建后事件的命令是:

xcopy /y /d "<relative path or absolute path to dll location>/youlib.dll" "$(outdir)"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM