Men-debug Qt di visual studio, msvcp140d_app.dll hilang

Saya baru mengenal Qt, namun telah bekerja dengan Visual studio untuk pengembangan C/C++ selama beberapa tahun. Sekarang saya mencoba membangun GUI untuk proyek saya. Saya menginstal Qt 5.11.0 dan Qt VS Tools di komputer kantor dan PC rumah saya. Di tempat kerja saya dapat membangun dan menjalankan proyek saya dengan debugger VS, namun di sistem rumah saya, saya dapat membangun tetapi tidak dapat menjalankannya dengan debugger VS atau sekadar meluncurkan aplikasi. Saya mencoba di rilis dan berfungsi dengan baik.

error yang saya dapatkan adalah:

Eksekusi kode tidak dapat dilanjutkan karena VCRUNTIME140D_APP.dll tidak ditemukan.

Saya mendapatkan 4 di antaranya, dua yang pertama menginginkan VCRUNTIME, dua yang kedua menginginkan MSVCP140D_APP.dll.

Solusi yang saya coba sejauh ini:

  1. Copot pemasangan Win SDK dan pasang kembali
  2. Copot pemasangan VS2017 dan SDK lalu pasang kembali
  3. Mencari direktori instalasi System32, SysWOW64 dan VS - ditemukan msvcp140d.dll dan vcruntime140d.dll, tetapi tidak ada _app.dlls

Adakah yang tahu ini termasuk apa dan di mana mendapatkannya? Saya tidak tahu mengapa saya memilikinya di komputer kantor saya tetapi tidak di rumah. Saya memiliki pembaruan VS yang sama, versi Qt yang sama, dan SDK di kedua sistem.

Menggunakan :

  • Visual Studio 2017 v15.7.1
  • Qt 5.11.0 - msvc2017_64

Saya kira saya cukup menyalin .dll's dari komputer kerja saya dan meletakkannya di lokasi yang sesuai di komputer lain, tapi saya ingin tahu dengan apa mereka seharusnya diinstal sehingga saya dapat memiliki pengaturan yang sama di kedua sistem.

Sunting: Saya juga mencoba mengubah perangkat platform ke VS2015 dengan versi Qt msvc2015_64 dan winrt_x64_msvc2015

Saya menemukan postingan ini mengenai file _app.dll yang hilang. Tidak ada jawaban apa pun di sana, itulah sebabnya saya mencoba menginstal ulang SDK dengan harapan file yang hilang disertakan di sana.

Sunting 2: Saya baru saja memindai seluruh sistem saya di tempat kerja dan ternyata saya juga tidak memiliki .dll yang hilang di sana. Itu memberitahu saya bahwa ada perbedaan dalam properti proyek atau konfigurasi antara keduanya. Saya menggunakan git untuk kontrol sumber, dan saat ini saya satu-satunya kontributor proyek ini. Ketika saya mencoba membuat dan menjalankan contoh dari panduan memulai, saya mengalami masalah yang sama di rumah dengan file _app.dll yang hilang, namun berfungsi dengan baik di tempat kerja. Saya benar-benar bingung sekarang, dan setiap petunjuk sangat dihargai.


person mjc449    schedule 15.05.2018    source sumber


Jawaban (1)


Solusi:

Setelah mencoba selama beberapa jam membuat solusi baru, dll. Saya memutuskan untuk menghapus seluruh folder build dan memasukkan salinan baru dari semua dependensi ke dalamnya. Proyek saya sekarang berjalan dengan baik dalam mode debugging.

Saya cukup yakin bahwa ketika saya pertama kali menyalin file Qt .dll ke dalamnya, saya pasti mengambilnya dari salah satu folder winrt daripada folder msvc2017_64. Untuk mengujinya saya mengganti file .dll yang berfungsi dengan file dari folder winrt_x64_msvc2017 dan tentu saja kesalahan yang sama lagi. Jadi, ini adalah kesalahan bodoh saya, tapi mudah-mudahan ini akan menyelamatkan orang lain dari banyak masalah di masa depan.

person mjc449    schedule 16.05.2018
comment
Pertanyaan bagus dengan jawaban bagus!! - person Zhang; 06.12.2019