ข้อผิดพลาด '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.