การดีบัก Qt ใน Visual Studio msvcp140d_app.dll หายไป

ฉันเพิ่งเคยใช้ Qt แต่ได้ร่วมงานกับ Visual Studio เพื่อการพัฒนา C/C++ มาสองสามปีแล้ว ตอนนี้ฉันกำลังพยายามสร้าง GUI สำหรับโครงการของฉัน ฉันติดตั้ง Qt 5.11.0 และ Qt VS Tools ทั้งในคอมพิวเตอร์ที่ทำงานและพีซีที่บ้าน ในที่ทำงาน ฉันสามารถสร้างและรันโปรเจ็กต์ของฉันด้วย VS debugger ได้ อย่างไรก็ตาม ฉันสามารถสร้างในระบบโฮมของฉันได้ แต่ไม่สามารถรันด้วย VS debugger หรือเพียงเปิดใช้แอปได้ ฉันลองปล่อยแล้วมันก็ทำงานได้ดี

error ที่ฉันได้รับคือ:

ไม่สามารถดำเนินการโค้ดได้เนื่องจากไม่พบ VCRUNTIME140D_APP.dll

ฉันได้รับ 4 ในจำนวนนี้ สองรายการแรกต้องการ VCRUNTIME และสองรายการที่สองต้องการ MSVCP140D_APP.dll

วิธีแก้ปัญหาที่ฉันได้ลองมาแล้ว:

  1. ถอนการติดตั้ง Win SDK และติดตั้งใหม่
  2. ถอนการติดตั้ง VS2017 และ SDK แล้วติดตั้งใหม่
  3. ค้นหาไดเรกทอรีการติดตั้ง System32, SysWOW64 และ VS - พบ msvcp140d.dll และ vcruntime140d.dll แต่ไม่มี _app.dlls

มีใครรู้บ้างว่ารวมอะไรบ้าง และหาซื้อได้ที่ไหน? ฉันไม่เข้าใจว่าทำไมฉันถึงมีมันไว้ในคอมพิวเตอร์ที่ทำงานแต่ไม่ใช่ที่บ้าน ฉันมีการอัปเดต VS เดียวกัน เวอร์ชัน Qt เดียวกัน และ SDK บนทั้งสองระบบ

โดยใช้ :

  • วิชวลสตูดิโอ 2017 v15.7.1
  • Qt 5.11.0 - msvc2017_64

ฉันคิดว่าฉันสามารถคัดลอก .dll's จากพีซีที่ทำงานของฉันและวางลงในตำแหน่งที่เหมาะสมที่อีกเครื่องหนึ่งได้ แต่ฉันอยากรู้ว่าควรติดตั้งด้วยอะไร เพื่อที่ฉันจะได้ตั้งค่าเดียวกันบนทั้งสองระบบได้

แก้ไข: ฉันยังลองเปลี่ยนชุดเครื่องมือแพลตฟอร์มเป็น VS2015 ด้วยเวอร์ชัน Qt msvc2015_64 และ winrt_x64_msvc2015

ฉันพบโพสต์นี้เกี่ยวกับไฟล์เดียวกันที่หายไป _app.dll ไม่มีคำตอบใดๆ ที่นั่น ซึ่งเป็นสาเหตุที่ฉันลองติดตั้ง SDK ใหม่โดยหวังว่าจะรวมไฟล์ที่หายไปไว้ที่นั่น

แก้ไข 2: ฉันเพิ่งสแกนระบบทั้งหมดของฉันในที่ทำงาน และปรากฎว่าฉันไม่มี .dll ที่ขาดหายไปเช่นกัน นั่นบอกฉันว่ามีคุณสมบัติโปรเจ็กต์หรือการกำหนดค่าที่แตกต่างกันระหว่างทั้งสอง ฉันใช้ git เพื่อควบคุมแหล่งที่มา และปัจจุบันฉันเป็นผู้ร่วมให้ข้อมูลเพียงคนเดียวในโครงการนี้ เมื่อฉันพยายามสร้างและเรียกใช้ตัวอย่างจากคู่มือเริ่มต้นใช้งาน ฉันประสบปัญหาเดียวกันที่บ้านโดยมีไฟล์ _app.dll หายไป อย่างไรก็ตาม ก็ทำงานได้ดี ตอนนี้ฉันสับสนไปหมดแล้ว และคำแนะนำใดๆ ก็ได้รับการชื่นชมอย่างมาก


person mjc449    schedule 15.05.2018    source แหล่งที่มา


คำตอบ (1)


วิธีแก้ปัญหา:

หลังจากพยายามสองสามชั่วโมงในการแก้ปัญหาใหม่ๆ ฯลฯ ฉันตัดสินใจลบโฟลเดอร์บิลด์ทั้งหมดและใส่สำเนาใหม่ของการอ้างอิงทั้งหมดลงไป ตอนนี้โปรเจ็กต์ของฉันทำงานได้ดีในโหมดแก้ไขข้อบกพร่อง

ฉันค่อนข้างแน่ใจว่าเมื่อฉันคัดลอกไฟล์ Qt .dll ลงไปในตอนแรก ฉันจะต้องดึงมันมาจากโฟลเดอร์ winrt ใดโฟลเดอร์หนึ่งแทนที่จะเป็นโฟลเดอร์ msvc2017_64 เพื่อทดสอบฉันได้แทนที่ไฟล์ .dll ที่ใช้งานได้ด้วยไฟล์จากโฟลเดอร์ winrt_x64_msvc2017 และเกิดข้อผิดพลาดเดิมอีกครั้ง นี่เป็นความผิดพลาดโง่ๆ ของฉัน แต่หวังว่ามันจะช่วยให้คนอื่นไม่ต้องลำบากใจได้มากในอนาคต

person mjc449    schedule 16.05.2018
comment
คำถามดีๆกับคำตอบสุดปัง!! - person Zhang; 06.12.2019