วิธีการรวบรวมแอปพลิเคชัน 64 บิตโดยใช้ Visual C ++ 2010 Express


คำตอบ:


181

นี่คือคำแนะนำทีละขั้นตอน:

  1. ดาวน์โหลดและติดตั้ง Windows Software Development Kit เวอร์ชัน 7.1 Visual C ++ 2010 Express ไม่มีคอมไพเลอร์ 64 บิต แต่ SDK ทำ ลิงก์ไปยัง SDK: http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. เปลี่ยนการกำหนดค่าโครงการของคุณ ไปที่คุณสมบัติของโครงการของคุณ ที่ด้านบนของกล่องโต้ตอบจะมีเมนูแบบเลื่อนลง "การกำหนดค่า" ตรวจสอบให้แน่ใจว่าเลือก "การกำหนดค่าทั้งหมด" นอกจากนี้ยังจะมีเมนูแบบเลื่อนลง "แพลตฟอร์ม" ที่จะอ่าน "Win32" ในที่สุดทางด้านขวามีปุ่ม "เครื่องมือจัดการการกำหนดค่า" - กดมัน ในช่องโต้ตอบที่ปรากฏขึ้นค้นหาโครงการของคุณกดปุ่มเลื่อนลงแพลตฟอร์มเลือกใหม่แล้วเลือก x64 ตอนนี้เปลี่ยนเมนูแบบเลื่อนลง "แพลตฟอร์มโซลูชันที่ใช้งานอยู่" เป็น "x64" เมื่อคุณกลับไปที่กล่องโต้ตอบคุณสมบัติแบบหล่นลง "แพลตฟอร์ม" ควรอ่าน "x64"
  3. สุดท้ายเปลี่ยนชุดเครื่องมือของคุณ ในเมนูคุณสมบัติของโครงการของคุณภายใต้คุณสมบัติการกำหนดค่า | ทั่วไปเปลี่ยนชุดเครื่องมือแพลตฟอร์มจาก "v100" เป็น "Windows7.1SDK"

ขั้นตอนเหล่านี้ได้ผลสำหรับฉันแล้ว บางรายละเอียดเพิ่มเติมในขั้นตอนที่ 2 สามารถพบได้ในการอ้างอิงจาก Microsoft ที่โปสเตอร์ก่อนหน้านี้กล่าวถึง: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


2
ขอแสดงความยินดี - คำตอบของคุณทำให้คุณได้รับ 275 ตัวแทน ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม!
Nathan Osman

ฉันมี Windows XP แต่ SDK สำหรับ Windows 7 จะยังใช้งานได้หรือไม่
0x499602D2

@ 0x499602D2: ฉันไม่รู้ ฉันหวังว่าถ้ารุ่น Visual C ++ และ SDK เหมือนกันมันจะ คุณลองหรือยัง
แมตต์

2
สิ่งนี้ใช้ได้กับฉันหลังจากติดตั้งแพตช์ 3 และ 4 ที่กล่าวถึงแล้วที่นี่: stackoverflow.com/a/8334985/429873
Dmitry Trofimov

1
@ Matt: ทั้งหมดนี้ใช้งานได้กับฉันใน WinXP 64 บิต เหตุผลที่เปลี่ยนชุดเครื่องมือแพลตฟอร์มเป็น Win7.1SDK
IgorStack

48

เครื่องมือ 64 บิตไม่พร้อมใช้งานบน Visual C ++ Express โดยค่าเริ่มต้น เมื่อต้องการเปิดใช้งานเครื่องมือ 64 บิตบน Visual C ++ Express ให้ติดตั้ง Windows Software Development Kit (SDK) เพิ่มเติมจาก Visual C ++ Express มิฉะนั้นจะเกิดข้อผิดพลาดขึ้นเมื่อคุณพยายามกำหนดค่าโครงการเพื่อกำหนดเป้าหมายแพลตฟอร์ม 64 บิตโดยใช้ Visual C ++ Express

วิธีการ: กำหนดค่าโครงการ Visual C ++ เพื่อกำหนดเป้าหมายแพลตฟอร์ม 64 บิต

Ref: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


สามารถใช้กับ VB 2010 Express ได้หรือไม่
Remus Rigo

ด้วยเหตุผลบางอย่าง $ ของฉัน (WindowsSdkDir) ดูเหมือนจะทำงานไม่ถูกต้อง แต่เมื่อฉันเพิ่มในเส้นทางที่แน่นอนด้วยตนเองมันก็ทำงานได้อย่างยอดเยี่ยม
rogerdpack

5
หลังจากทำตามคำแนะนำฉันยังคงได้รับหน้าคุณสมบัติว่างเปล่าสำหรับแพลตฟอร์ม x64 ผมต้องติดตั้งโปรแกรมปรับปรุงคอมไพเลอร์ที่นี่ ข้อมูลเพิ่มเติมได้ที่KB2519277
kipkennedy

14

และตรวจสอบให้แน่ใจว่าคุณดาวน์โหลด Windows7 .1 SDK ไม่ใช่เฉพาะ Windows 7 นั่นทำให้ฉันปวดหัวมาก


9

ฉันพบขั้นตอนสำคัญในการเพิ่มไปนี้ - หลังจากที่คุณติดตั้ง SDK แล้วให้ไปที่คุณสมบัติโครงการของคุณและเปลี่ยนคุณสมบัติการกำหนดค่า -> ทั่วไป -> ชุดเครื่องมือแพลตฟอร์มจาก v100 หรืออะไรก็ตามที่เป็น Windows7.1SDK สิ่งนี้เปลี่ยนแปลง $ (WindowsSdkDir) เป็นสถานที่ที่เหมาะสมและดูเหมือนจะแก้ปัญหาอื่น ๆ ที่ฉันกำลังเผชิญอยู่เช่นกัน


5

โปรดทราบว่าคอมไพเลอร์ Visual C ++ จะถูกลบออกเมื่อคุณอัพเกรด Visual Studio 2010 Professional หรือ Visual Studio 2010 Express เป็น Visual Studio 2010 SP1 หากติดตั้ง Windows SDK v7.1

สำหรับคำแนะนำในการแก้ไขปัญหานี้ให้ดูKB2519277บนเว็บไซต์ Microsoft Support


5
นี่จะเป็นการแสดงความคิดเห็นที่ดีขึ้นเนื่องจากไม่ได้ตอบคำถามในมือ
Security Hound

4

ดาวน์โหลด Windows SDK จากนั้นไปที่ View-> Properties-> Configuration Manager-> Active Solution Platform-> New-> x64


1
โปรแกรมทำงานอะไร ฉันไม่พบโปรแกรมใด ๆ ที่มี "มุมมอง" ให้ใช้งาน
Stéphane Laurent

3

การเขียนโปรแกรมในสภาพแวดล้อมแบบ 64 บิตนั้นค่อนข้างแตกต่างจากสภาพแวดล้อมแบบ 32 บิต รหัสที่สร้างขึ้นมีรัฐธรรมนูญการชุมนุมที่แตกต่างกันโดยสิ้นเชิงในรหัส 32 และ 64 บิตแม้แต่โปรโตคอลการสื่อสารกับการเปลี่ยนแปลงฟังก์ชั่น ดังนั้นคุณไม่สามารถสร้างรหัส 64- บิตโดยใช้คอมไพเลอร์ 32- บิต

คุณอาจต้องการดูบทความในเว็บไซต์ของ Microsoftเกี่ยวกับการกำหนดเป้าหมาย 64- บิต แต่ใช้เครื่องพัฒนาแบบ 32 บิต


คำตอบที่ได้รับเป็นไปตามเอกสารของ Intel
อันตราย

ใช่มันเป็นความจริงที่การพึ่งพาใด ๆ จะต้องถูกคอมไพล์ (อีกครั้ง) โดยใช้คอมไพเลอร์ 64 บิตเช่นกันหรือขั้นตอนการเชื่อมโยงจะล้มเหลว
rogerdpack

2

ตามที่ Jakob กล่าวไว้: windows sdk 7.1 ไม่สามารถติดตั้งได้หาก MS VC ++ x64 และ x86 runtimes และ redisrtibutables เวอร์ชัน 10.0.40219 นั้นมีอยู่ หลังจากลบพวกเขาชนะการติดตั้ง sdk ไม่เป็นไร VS C ++ SP1 สามารถติดตั้งได้ดีอีกครั้ง

ขอแสดงความนับถือ

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