ข้อผิดพลาด 'LINK: ข้อผิดพลาดร้ายแรง LNK1123: ความล้มเหลวระหว่างการแปลงเป็น COFF: ไฟล์ไม่ถูกต้องหรือเสียหาย' หลังจากติดตั้ง Visual Studio 2012 Preview Preview


535

ฉันได้ติดตั้ง Visual Studio 2012 Preview Preview แล้วและดูเหมือนว่าใช้ได้ แต่ตอนนี้เมื่อฉันพยายามใช้ Visual Studio 2010 เพื่อรวบรวมโครงการ C ++ ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

LINK: ข้อผิดพลาดร้ายแรง LNK1123: ความล้มเหลวระหว่างการแปลงเป็น COFF: ไฟล์ไม่ถูกต้องหรือเสียหาย

ฉันไม่แน่ใจ 100% แต่ดูเหมือนว่าจะเกี่ยวข้องกับโครงการที่มี.rcไฟล์ (ทรัพยากร) อยู่ในนั้น

ฉันพยายามซ่อม Visual Studio 2010 จากเพิ่ม / ลบโปรแกรมและทำการรีบูตเครื่อง แต่สิ่งนี้ไม่มีผล

ฉันยังได้รับข้อผิดพลาดเดียวกันถ้าฉันใช้ Visual Studio 2012 RC เพื่อคอมไพล์โครงการ C ++ เมื่อตั้งค่าให้ใช้ชุดเครื่องมือ Visual Studio 2010 การอัพเกรดเป็นชุดเครื่องมือ Visual Studio 2011 ช่วยแก้ปัญหา (แต่แน่นอนว่าฉันไม่ต้องการทำสิ่งนี้เพื่อผลิตรหัส)

อัปเดต: ฉันได้ถอนการติดตั้ง Visual Studio 2012รีบูตและปัญหายังคงมีอยู่! ช่วยด้วย!


นี่เป็นปัญหาของ x86, x64 หรือทั้งสองอย่าง? ฉันเห็นมันในระบบปฏิบัติการ 32 บิต ฉันจำไม่ได้ว่าเห็นมันในระบบปฏิบัติการ 64 บิต
jww

คำตอบ:


652

เธรด MSDN นี้อธิบายวิธีการแก้ไข

เพื่อสรุป:

  • ปิดการเชื่อมโยงที่เพิ่มขึ้นโดยไปที่

    Project Properties 
       -> Configuration Properties 
           -> Linker (General) 
              -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
    
  • หรือติดตั้ง VS2010 SP1

การแก้ไข (@CraigRinger): หมายเหตุว่าการติดตั้ง VS 2010 SP1 จะเอาคอมไพเลอร์ 64 บิต คุณต้องติดตั้งชุดคอมไพเลอร์ VS 2010 SP1เพื่อให้ได้กลับคืนมา

นี้มีผลต่อMicrosoft Windows SDK 7.1 สำหรับ Windows 7 และ .NET 4.0เช่นเดียวกับVisual Studio 2010


1
ฉันพบปัญหานี้หลังจากติดตั้ง. Net 4.5 การติดตั้ง VS2010 SP 1 แก้ไขได้ ฉันไม่ได้ติดตั้ง VS 2012 ณ จุดใด
KJAWolf

2
หากต้องการปิดใช้งานการเชื่อมโยงเพิ่มเติมด้วย CMakefile: cmake.org/pipermail/cmake/2010-F กุมภาพันธ์/035174.html
แผนที่ X

2
ใน Qt ภายใต้ Visual Studio ให้เพิ่ม. pro: QMAKE_LFLAGS + = / INCREMENTAL: ไม่ทำงานสำหรับฉัน
gollumullog

5
@grundic เรียงจาก เราเปลี่ยนชื่อ cvtres.exe จาก Win 7 sdk เพื่อให้ link.exe ไม่พบและใช้ตัวใหม่จาก. NET 4.5 แทน Windows 8 SDK ไม่มีเครื่องมือบรรทัดคำสั่งอีกต่อไป ตอนนี้คุณต้องติดตั้ง Visual Studio 2012 Express อย่างน้อยสำหรับเดสก์ท็อปเพื่อรับเครื่องมือบรรทัดคำสั่งแอปเดสก์ท็อป โซลูชันการเปลี่ยนชื่อถือว่ามีความยุ่งยากน้อยที่สุดและสามารถเขียนสคริปต์ได้อย่างง่ายดาย
DuckPuppy

2
@DuckPuppy โชคดีที่เราแก้ไขปัญหานี้ได้โดยการลบ Microsoft .Net 4.5.1 ออกจากตัวแทนการสร้างและติดตั้ง. Net 4.0 ใหม่ทั้งหมด และหลังจากนั้นเราก็ติดตั้ง Microsoft SDK 7.0 ใหม่พร้อมกับตัวเลือกทั้งหมดที่มีการทำเครื่องหมาย - นี่เป็นการแก้ไขปัญหาของเรา นอกจากนี้หลังจากเหตุการณ์นี้เราได้ปิดใช้งานการอัปเดตอัตโนมัติในกรณีนี้
ใจแคบ

249

หากการปิดใช้งานการเชื่อมโยงแบบเพิ่มเติมนั้นไม่ได้ผลสำหรับคุณและการปิด "Embed Manifest" ก็ไม่ได้ผลเช่นนั้นให้ค้นหาเส้นทางของคุณเพื่อค้นหา CVTRES.exe หลายเวอร์ชัน

ด้วยการดีบักด้วยตัวเลือก / VERBOSE linker ฉันพบว่า linker กำลังเขียนข้อความแสดงข้อผิดพลาดนั้นเมื่อพยายามเรียก cvtres และล้มเหลว

มันกลับกลายเป็นว่าฉันมียูทิลิตี้นี้สองเวอร์ชั่นในเส้นทางของฉัน หนึ่งและเป็นหนึ่งในC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cvtres.exe C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exeหลังจากติดตั้ง VS2012 แล้ว cvtres.exe รุ่น VS2010 จะไม่ทำงานอีกต่อไป หากนั่นคืออันแรกในเส้นทางของคุณและตัวเชื่อมโยงตัดสินใจว่ามันจำเป็นต้องแปลงไฟล์. res เป็นรูปแบบวัตถุ COFF ลิงก์จะล้มเหลวด้วย LNK1123

(น่ารำคาญจริง ๆ ว่าข้อความแสดงข้อผิดพลาดไม่มีส่วนเกี่ยวข้องกับปัญหาจริง แต่นั่นไม่ใช่เรื่องแปลกสำหรับผลิตภัณฑ์ Microsoft)

เพียงแค่ลบ / เปลี่ยนชื่อยูทิลิตี้รุ่นเก่าหรือจัดเรียงตัวแปร PATH ของคุณใหม่เพื่อให้เวอร์ชันที่ใช้งานได้มาก่อน

ระวังด้วยว่าสำหรับ x64 tooling builds คุณอาจต้องตรวจสอบC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64ว่ามีที่ไหนcvtres.exeบ้าง


3
ทำงานให้ฉัน ขอบคุณสำหรับการรวมเคล็ดลับเกี่ยวกับ / VERBOSE ซึ่งแสดงว่า / ทำไมแทนที่จะเป็นสิ่งที่วิเศษที่จะทำ
M Katz

1
เพียงแค่คัดลอกไฟล์ที่ใหม่กว่าในไดเรกทอรี Framework เหนือไฟล์เก่าในไดเรกทอรี visual studio
Yochai Timmer

นี้แก้ไขปัญหาของฉันด้วย ฉันกำลังทำงานนอกคอมพิวเตอร์ที่มี UAC ที่เข้มงวดดังนั้นฉันจึงสามารถยืนยันได้ว่า cvtres.exe ทำงานครั้งแรกจากบรรทัดคำสั่ง เริ่มจากที่ cvtres.exe จากนั้น "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319.cvtres.exe / เครื่อง: amd64 / verbose / out:" ชื่อจากเอาต์พุต verbose "/ FileFromVerboutput.reson แบบอ่านเส้นทางเดียวแสดงข้อผิดพลาด. NET หนึ่งทำงาน
176692

50

ตรวจสอบรุ่นของcvtrs.exe:

dir "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"

รุ่นผิด
date:: 03/18/2010
time: 01:16 PM
size: 31,048 ไบต์
name: cvtres.exe

รุ่นที่ถูกต้อง
date:: 02/21/2011
time: 06:03 PM
size: 31,056 ไบต์
name: cvtres.exe

หากคุณมีเวอร์ชันที่ไม่ถูกต้องคุณควรคัดลอกเวอร์ชันที่ถูกต้องจาก:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe

และแทนที่อันที่นี่:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe

กล่าวคือ

copy "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"

นี่อาจช่วยคนอื่นที่มีปัญหาคล้ายกัน ฉันใช้ ms build และฉันต้องคัดลอกไฟล์เหล่านี้: msobj110.dll mspdb110.dll mspdbcore.dll mspdbsrv.exe จาก C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ IDE ไปยัง C: \ Program Files ( x86) \ Microsoft Visual Studio 11.0 \ VC \ bin นอกจากนี้ตามi-am-bryan.com/webs/tutorials/…
Kell

นี้ทำงานสำหรับฉัน แต่ "ถูกต้อง" แฟ้ม cvtres.exe ของฉันคือขนาดที่แตกต่างกัน, วันที่, ฯลฯ (ภาพนิ่งจาก VS 2012 ถังแม้ว่า)
aampere

สำหรับฉันแก้ไขโดยการเปลี่ยนชื่อ cvtres จาก .... ไดเรกทอรี 10.0 Studio สตูดิโอ \ bin \ amd64 \, ฉันคิดว่าเพราะฉันใช้ intel ไม่ใช่ amd
Daniel Hári

46

ตามเธรดนี้ในฟอรัม MSDN: การติดตั้ง VS2012 RC แบ่งโครงการ VS2010 C ++เพียงใช้cvtres.exeจากVS2010 SP1

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe

หรือจากVS2012

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe

และคัดลอกมาcvtres.exeในการติดตั้งในVS2010 RTM (อันที่ไม่มี SP1 )

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe

ด้วยวิธีนี้คุณจะสามารถใช้เวอร์ชันที่แก้ไขได้อย่างมีประสิทธิภาพcvtres.exeซึ่งคือ 11.0.51106.1

ทำซ้ำขั้นตอนเดียวกันสำหรับรุ่น 64 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exeบิตของเครื่องมือใน

โซลูชันนี้เป็นอีกทางเลือกหนึ่งสำหรับการติดตั้ง SP1 สำหรับ VS2010 - ในบางกรณีคุณไม่สามารถติดตั้ง SP1 ได้ (เช่นถ้าคุณต้องการสนับสนุนการสร้าง pre-SP1)


1
ที่ทำงานให้ฉัน ตั้งแต่ฉันใช้งาน win7 64- บิตฉันคัดลอก cvtres.exe จากโฟลเดอร์ ... Framework64 \ v4.3 ... แต่ไม่ได้แก้ปัญหา จากนั้นก็คัดลอกมาจากโฟลเดอร์ Framework \ v4.3 ... และนั่นช่วยแก้ปัญหาขอบคุณ !!!!!
falconK

36

หากคุณติดตั้ง Visual Studio 2012 RC แสดงว่าติดตั้ง. NET 4.5 RC

ถอนการติดตั้ง. NET 4.5 RC และติดตั้งรุ่นที่คุณต้องการ (4.0 สำหรับ VS 2010) วิธีนี้จะช่วยแก้ปัญหาที่คุณพบ

วิธีนี้แก้ไขปัญหาเดียวกัน ไม่จำเป็นต้องถอนการติดตั้ง Visual Studio


4
ยิ่งใหญ่ !! ฉันแทนที่. NET 4.5 ด้วย. NET 4.0 เท่านั้น และมันก็ใช้งานได้ดี !!
manutd

1
อัปเดต: การถอนการติดตั้ง. net 4.5 และ 4.0 จะแก้ไขให้ฉัน (VS 2010 express) อย่างไรก็ตาม windows update ดูเหมือนจะอัพเกรดกลับเป็น. net 4.5.1 อย่างต่อเนื่องดังนั้นฉันต้องทำซ้ำทุก ๆ ครั้ง อย่างไรก็ตามการติดตั้ง "VS 2010 SP1" และ voila ตอนนี้ VS 2010 express ก็ทำงานได้เช่นกันโดยที่. Net 4.5.1 ยังคงติดตั้งอยู่
rogerdpack

15

เป็นเพราะ. NET Framework 4.5 แทนที่. NET Framework 4.0 ฉันถอนการติดตั้ง Visual Studio 2010 หลายครั้งโดยไม่มีโชค เมื่อฉันลบ. NET Framework 4.5 และติดตั้ง Visual Studio 2010 ใหม่มันก็ใช้ได้

ดูถอนการติดตั้ง Visual Studio 11 อย่างสมบูรณ์เพื่อทำการติดตั้งใหม่


3
ยืนยันเลย !!!!!!! เพียงติดตั้ง VC2010 ไม่ได้ช่วย หลังจากลบเฟรมเวิร์ก 4.5 RC แล้วมันก็โอเค
inkooboo

ฉันติดตั้ง umdh ซึ่งติดตั้ง. net 4.5 ซึ่งทำลาย visual studio 2010 หลังจากถอนการติดตั้ง. net 4.5 และติดตั้ง. net 4.0 สตูดิโอเสมือนจริงของฉันกลับมามีชีวิตอีกครั้ง
stu

14

สำหรับฉันการตั้งค่า 'สร้างรายการ' เป็น 'ไม่' แก้ไข (แก้ไขด้วย / INCREMENTAL: ไม่)


14

หากคุณใช้ x64 นี่เป็นแหล่งข้อมูลที่จะช่วย :

สิ่งนี้เกิดขึ้นเนื่องจาก Microsoft .NET 4.5 เข้ากันไม่ได้กับ Visual C ++ 10 วิธีแก้ปัญหาคือเพื่อให้แน่ใจว่าคุณเรียกใช้ cvtres.exe รุ่น. NET แทนที่จะเป็นเวอร์ชัน Visual C ++ ฉันทำสิ่งนี้ด้วยการเปลี่ยนชื่อไฟล์เหล่านั้นในเวอร์ชัน Visual C ++ และคัดลอกเวอร์ชัน. NET มาแทนที่

1. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
2. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe

1. C:\windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
2. C:\windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe

1
หมายเหตุ:มันใช้งานได้เพราะทั้งคู่.NET Framework 4 Multi-targeting pack และ .NET Framework 4.5.2ติดตั้ง ไฟล์ที่เป็นC:\windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe .NET Framework 4 Multi-targeting packโดยทั่วไปจะเป็นกรณีนี้หากคุณติดตั้ง Windows SDK 7.1 และต่อมามี. NET ที่อัพเดตเป็น 4.5.2 ในกรณีนี้คุณสามารถทั่วไปเพียงแค่เปลี่ยนชื่อC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exeไปcvtres-old.exeและใหม่cvtres.exe(วันที่ 8/30/17) จะถูกนำมาใช้และปรับการทำงาน
David C. Rankin

13

ฉันแก้ปัญหานี้ในที่สุดด้วยการถอนการติดตั้ง VS2012 RC แบบเต็มตามด้วยการถอนการติดตั้งแบบเต็มของ VS2010 จากนั้นทำการติดตั้งใหม่ตั้งแต่เริ่มต้นของ VS2010

ใช้เวลาตลอดไป แต่ตอนนี้ฉันสามารถรวบรวมโครงการ C ++ ใน VS2010 ได้อีกครั้ง


11

ปัญหาได้รับการแก้ไขอย่างน่าอัศจรรย์สำหรับผมโดยการเอา.NET 4.5 และแทนที่ด้วย.NET 4.0 ฉันต้องซ่อมแซม Visual Studio 2010 - มันเสียหายตลอดทาง

ฉันได้ติดตั้งก่อนหน้านี้แล้วเลิกติดตั้ง Visual Studio 2012 - ซึ่งอาจเกี่ยวข้องกับปัญหา


2
สิ่งนี้ใช้ได้สำหรับฉัน ฉันได้รับ Net 4.5 เป็น Windows Update ที่สำคัญ ฉันเพิ่งถอนการติดตั้งซึ่งทำให้การสร้างล้มเหลวในรูปแบบใหม่ จากนั้นฉันซ่อมแซมการติดตั้งVisual Studio 2010 Expressอย่างเต็มที่และแก้ไขปัญหาได้
ไฮด์

10

ฉันยังไม่ได้ติดตั้ง Visual Studio 2012 แต่ฉันยังคงมีข้อผิดพลาดนี้ใน Visual Studio 2010 ฉันได้รับการแก้ไขหลังจากติดตั้ง Visual Studio 2010 SP1


9

ฉันมีปัญหาเดียวกันกับMicrosoft Visual Studio 2010 Ultimateและได้รับการแก้ไขโดยวิธีการที่อธิบายไว้ในวิดีโอ youtube นี้

วิดีโอแนะนำให้เปลี่ยนชื่อไฟล์cvtres.exeในC: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin (in my Win7X64 matchine)เป็นcvtres-old.exe


6

+1 ถึงผู้ใช้ย่อสำหรับคำตอบที่เหมาะกับฉัน!

ฉันพยายามทำการดีบักบางอย่างด้วยmsbuild /v:diagและฉันเห็นว่าMSBuildกำลังพยายามที่จะฝังรายการในปฏิบัติการด้วย <somename> .dll.embed.manifest.res บนบรรทัดคำสั่ง linker ซึ่งเป็นทรัพยากร ไฟล์ที่สร้างจาก <somename> .dll.embed.manifest แต่ไฟล์ Manifest เป็นไฟล์ข้อความ Unicode ที่ว่างเปล่า (นั่นคือไฟล์สองไบต์พร้อมกับคำนำหน้า Unicode 0xFEFF)

ดังนั้นปัญหารูทดูเหมือนจะมีบางอย่างที่เกี่ยวข้องกับไฟล์รายการนั้นไม่ได้ถูกสร้างขึ้นหรือมันถูกใช้เมื่อ <somename> .dll.intermediate.manifest ควรถูกนำมาใช้

โซลูชันสำรองดูเหมือนจะปิดตัวเลือก "Embed Manifest" ภายใต้ Properties, Manifest Tool, Input และ Output


6

มันไม่ทำงานสำหรับฉันหลังจากเปิดใช้งานการเชื่อมโยงเพิ่มเติม -> "ไม่ (/ INCREMENTAL: ไม่)" แต่ใช้งานได้สำหรับฉันหลังจากฉันลบไฟล์ rc


5

เพื่อสรุป:

Step1

Project Properties 
   -> Configuration Properties 
       -> Linker (General) 
          -> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"

ถ้าขั้นตอนที่ 1 ไม่ทำงานให้ทำขั้นตอนที่ 2

Project Properties 
   -> Configuration Properties 
       -> Manifest Tool (Input and Output) 
          -> Enable Incremental Linking -> "No"

หาก step2 ไม่ทำงานให้ทำขั้นตอนที่ 3 คัดลอกไฟล์หนึ่งใน:

  1. C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ bin \ cvtres.exe
  2. C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \ cvtres.exe
  3. C: \ Program Files (x86) \ Microsoft Visual Studio 13.0 \ VC \ bin \ cvtres.exe

    จากนั้นให้เปลี่ยนเป็น C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ cvtres.exe ด้วยฉันทำขั้นตอนที่ 3 ได้


4

เมื่อวันที่มกราคม 2014 ด้วยเหตุผลบางอย่างที่ฉันได้ติดตั้ง. NET Framework 4.5.1 ฉันไม่ทราบว่าเนื่องจากการติดตั้งซอฟต์แวร์บุคคลที่สามหรือการปรับปรุงอัตโนมัติ

ในวันที่ 29 มกราคมฉันได้ติดตั้งส่วนประกอบหนึ่งและฉันเริ่มได้รับ

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 

ข่าวสาร ในเวลานั้นฉันแก้ไขได้โดยหลีกเลี่ยงลิงก์ที่เพิ่มขึ้น

ในวันที่ 31 มกราคมฉันได้ติดตั้งส่วนประกอบอื่นของ. NET Framework 4.5.1 และเคล็ดลับการเพิ่มลิงก์ไม่ทำงานอีกต่อไป ฉันติดตั้ง Visual Studio 2010 SP1 แล้ว แต่หลังจากนั้นปัญหาก็เกิดขึ้น:

Error   6   error LNK1104: cannot open file 'msvcrtd.lib'. 

ฉันคิดว่า SP1 ทำให้การติดตั้ง Visual Studio 2010 ของฉันยุ่ง

ดังนั้นฉันจึงถอนการติดตั้ง. NET Framework 4.5.1, ติดตั้ง. NET Framework 4.0 และถอนการติดตั้งแล้วติดตั้ง Visual Studio 2010 ใหม่ซึ่งทำงานได้ดีสำหรับฉัน


3

แม้แต่การติดตั้ง Service Pack คุณก็ยังได้รับข้อผิดพลาดจากนั้นลองลบ / เปลี่ยนชื่อ cvtres.exe ในโฟลเดอร์ C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin โฟลเดอร์ สิ่งนี้ได้ผลสำหรับฉัน


มันใช้งานได้สำหรับฉัน แต่ฉันไม่เข้าใจว่าปัญหานี้เกิดขึ้นได้อย่างไร มันจะได้รับการชื่นชมถ้าคุณสามารถบอกฉัน ขอบคุณ
DTdev

2
ในคำตอบด้านล่าง @Rich Peck ได้อธิบายเหตุผลของพฤติกรรมนี้แล้ว
คนโง่

1

ฉันจะตั้งค่าเปิดใช้งานที่เพิ่มขึ้นการเชื่อมโยงไปยัง"ไม่มี (/ INCREMENTAL: NO)"และมันไม่ทำงานสำหรับฉัน

ต่อไปฉันเปลี่ยนไป:

Project Properties 
   -> Configuration Properties 
       -> General
          -> Platform Toolset -> "Visual Studio 2012 (v110)"

และมันก็ได้ผลกับฉัน :)


สิ่งนี้จะไม่ทำงานหากคุณต้องการสร้างไฟล์ที่สามารถ debuggable ได้บนแพลตฟอร์ม WinXP
Jay Elston

ขออภัย แต่นี่ไม่ใช่วิธีการแก้ปัญหา .. คุณกำลังเปลี่ยนชุดเครื่องมือซึ่งเป็นคอมไพเลอร์ที่แตกต่างกันโดยสิ้นเชิง
Semih Ozmen

1

การติดตั้ง CMake ใหม่ทำงานได้ดีสำหรับฉัน สำเนาใหม่ของ CMake คิดว่าควรใช้ Visual Studio 11 แทน 10


1

ฉันใช้ Windows SDK สำหรับการเขียนโปรแกรม Win32 แกนและติดตั้ง. NET 4.5 ด้วยเหตุผล "ไม่ทราบ" ฉันได้ถอนการติดตั้งและติดตั้ง 4.0 เช่นเดียวกับคำตอบก่อนหน้าและใช่มันก็ใช้ได้สำหรับฉันเช่นกัน

เพิ่งงงงวยว่าฉันต้องใช้กรอบ. NET ไร้ประโยชน์สำหรับการสร้างแอพ Win32 โดยใช้ SDK


1

ฉันแก้ไขสิ่งนี้โดยทำสิ่งต่อไปนี้:

  1. ในพรอมต์คำสั่งพิมพ์ msconfig และกด Enter
  2. คลิกที่แท็บบริการ
  3. มองหา "Application Experience" และใส่เครื่องหมายถูก (นั่นคือเลือกตัวเลือกนี้เพื่อเปิดใช้งาน)
  4. คลิกตกลง และรีสตาร์ทถ้าจำเป็น

ดังนั้นปัญหาจะคงอยู่ตลอดไป สร้างแบบสุ่มและดีบักโครงการ C ++ ของคุณโดยไม่มีการรบกวนใด ๆ


นอกจากนี้คุณยังสามารถเปิดใช้งานบริการ Applicaton Experienc จาก services.msc
แอปทำงาน

2
สิ่งนี้จะช่วยแก้ปัญหาได้อย่างไร
mabraham

1

สำหรับบรรดาของคุณที่กำลังมองหาทางออกสำหรับปัญหานี้ด้วย OpenGL SuperBible ตัวอย่างรหัสแหล่งที่ 6, การแก้ปัญหาคือการสร้างในที่วางจำหน่ายแทนการตรวจแก้จุดบกพร่อง โครงการทั้งหมดได้ปิดใช้งานตัวเลือกการเชื่อมโยงที่เพิ่มขึ้นในรุ่นที่วางจำหน่าย


1

ปัญหาของฉันคือฉันมีสองเส้นทางบนพีซีที่มีไลบรารีเดียวกัน เส้นทางทั้งสองถูกเพิ่มเข้าไปในไดเรกทอรีห้องสมุดเพิ่มเติมในการกำหนดค่า Properties -> linker -> ทั่วไป การลบพา ธ หนึ่งรายการช่วยแก้ไขปัญหาได้


1

ฉันมีปัญหาเดียวกันหลังจากอัปเดต. NET: ฉันถอนการติดตั้ง. NET Framework ก่อนดาวน์โหลด visual studio จากvisualstudio.comและเลือก "ซ่อมแซม"

กรอบ NET ถูกติดตั้งโดยอัตโนมัติด้วย visual Studio -> และตอนนี้ก็ใช้ได้ดี!


1

ฉันลองสองสามครั้งและในที่สุดก็แก้ปัญหาโดยการถอนการติดตั้งหลายครั้ง VS2010 ฉันคิดว่าฉันไม่ได้ถอนการติดตั้งไฟล์ทั้งหมดและนั่นเป็นเหตุผลที่มันไม่ทำงานเป็นครั้งแรก

ในการติดตั้ง VS2012 มีการกล่าวกันว่าหากคุณมี VS2010 SP1 คุณไม่สามารถทำงานในโครงการเดียวกันในทั้งสองโปรแกรม ขอแนะนำให้มีเพียงหนึ่งโปรแกรม

ขอบคุณ!


1

ฉันมีปัญหานี้หลังจากติดตั้ง Visual Studio 2017 และ. NET Framework 4.6 บนเครื่องที่เคยมี Visual Studio 2010

ปัญหาคือหลังจากการติดตั้งไฟล์msvcr100_clr0400.dllจาก C: \ Windows \ System32 ถูกเขียนทับด้วยอันใหม่ที่มีขนาดเล็กมาก ~ 19 Kb แต่ตัวเก่าคือ ~ 800 Kb

หลังจากฉันกู้คืนไฟล์ด้วยตนเองจากเครื่องสร้างอื่น cvtres.exe เริ่มทำงานอย่างถูกต้องอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.