Visual Studio ค้นหาไฟล์ส่วนหัว C ++ ที่ไหน


95

ฉันตรวจสอบสำเนาของแอปพลิเคชัน C ++ จาก SourceForge (HoboCopy หากคุณสงสัย) และพยายามรวบรวม

Visual Studio บอกฉันว่าไม่พบไฟล์ส่วนหัวเฉพาะ ฉันพบไฟล์ในแผนผังซอร์ส แต่ฉันต้องวางไว้ที่ไหนเพื่อที่จะพบเมื่อคอมไพล์

มีไดเรกทอรีพิเศษหรือไม่?

คำตอบ:


118

Visual Studio ค้นหาส่วนหัวตามลำดับนี้:

  • ในไดเร็กทอรีต้นทางปัจจุบัน
  • ในไดเร็กทอรีรวมเพิ่มเติมในคุณสมบัติโปรเจ็กต์ ( โปรเจ็กต์ -> [ชื่อโปรเจ็กต์] คุณสมบัติภายใต้ C / C ++ | ทั่วไป)
  • ใน Visual Studio C ++ รวมไดเรกทอรีภายใต้เครื่องมือตัวเลือกโครงการและโซลูชั่นVC ++ ไดเรกทอรี
  • ใน Visual Studio เวอร์ชันใหม่ (2015+) ตัวเลือกข้างต้นจะเลิกใช้แล้วและรายการของไดเร็กทอรีรวมเริ่มต้นมีให้ที่คุณสมบัติโครงการ →การกำหนดค่าไดเรกทอรี VC ++

ในกรณีของคุณให้เพิ่มไดเร็กทอรีที่ส่วนหัวอยู่ในคุณสมบัติโปรเจ็กต์ (คุณสมบัติของโปรเจ็กต์ →การกำหนดค่าC / C ++ทั่วไปไดเร็กทอรีรวมเพิ่มเติม )


3
คำตอบที่ดี แต่ฉันต้องเพิ่มว่าใน Visual Studio 2003 คุณควรดูที่ "Tools | Options | VC ++ Directories" ไม่ใช่ "Tools | Options | Projects and Solutions | VC ++ Directories"
กราฟ

37
ตัวประมวลผลก่อนใน VS 2010 จะมองเข้าไปใน dir ปัจจุบันก็ต่อเมื่อมีการใช้ไวยากรณ์ที่ยกมา (เช่น #include "anything.h") ใช้วงเล็บมุม (เช่น #include < any.h >) ละเว้น dir ปัจจุบัน ( msdn.microsoft.com/en-us/library/36k2cdd4(v=VS.100).aspx )
Dennis Münkle

5
ใน Visual Studio 2010 และใหม่กว่า "ไดเร็กทอรี C ++ มาตรฐาน" ไม่อยู่ภายใต้ตัวเลือกtools-
Mooing เป็ด

8
ฉันสงสัยว่ายังไม่มีใครบอกแค่ไดเร็กทอรีเริ่มต้น <root dir of Visual Studio>/VC/include/ดังนั้นที่นี่มันเป็น ฉันมี MSVC ในพีซีสำหรับงานของฉันจากผู้ใช้คนก่อน แต่ฉันใช้ GNU / Linux และไม่ต้องการเปิด VC เพียงเพื่อตอบสนองความอยากรู้อยากเห็นของฉันในการดูส่วนหัวของMicrosoft® Btw เกี่ยวกับความอยากรู้อยากเห็นที่ฉันมี: ฉันพบว่า MSDN ไม่รู้ด้วยซ้ำว่าเป็นชื่อส่วนหัวของตัวเอง! คือพวกเขาจะเรียกIphlpapi.hแต่ไฟล์ดังกล่าวไม่ได้อยู่ก็ชื่อค่อนข้างiphlpapi.hทั้งIPHlpApi.h(ทั้งมี)! lol
Hi-Angel

17
ตัวเลือก "VS> เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> ไดเรกทอรี VC ++" ถูกยกเลิกแล้ว
BG BRUNO

24

จริงๆแล้วใน windows 10 ของฉันกับชุมชน visual studio 2017 เส้นทางส่วนหัว C ++ คือ:

  1. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include

  2. C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

ส่วนที่ 1 ประกอบด้วยส่วนหัว C ++ มาตรฐานเช่น<iostream>, <algorithm>. ตัวที่ 2 มีส่วนหัว C เก่าเช่น<stdio.h>, <string.h>. หมายเลขเวอร์ชันอาจแตกต่างกันไปตามซอฟต์แวร์ของคุณ

หวังว่านี่จะช่วยได้


1
นี่คือคำตอบที่ตรงที่สุดสำหรับ OP แม้ว่าคำตอบอื่น ๆ จะพูดถึงประเด็นอื่น แต่ก็ควรเป็นคำตอบที่ยอมรับได้
winux

@linrongbin ฉันกำลังกำจัดไดเร็กทอรีที่สร้างขึ้นโดยการติดตั้ง VS Build Tools ล่าสุด คุณพูดถูกในครั้งแรก แต่ฉันยกเลิกการเลือกตัวเลือก Windows SDK นั่นหมายความว่าฉันไม่มีส่วนหัว C ซึ่งหมายความว่าเวิร์กโฟลว์ C ++ ใน BuildTools ไม่รองรับ C.
Hatebit

11

ถ้าโปรเจ็กต์มาพร้อมกับไฟล์โปรเจ็กต์ Visual Studio จากนั้นควรกำหนดค่าให้ค้นหาส่วนหัวให้คุณแล้ว ไม่เช่นนั้นคุณจะต้องเพิ่มไดเร็กทอรี include file ในการตั้งค่าโปรเจ็กต์โดยคลิกขวาที่โปรเจ็กต์แล้วเลือก Properties คลิกที่ "C / C ++" และเพิ่มไดเร็กทอรีที่มีไฟล์ include ใน "ไดเร็กทอรีรวมเพิ่มเติม" กล่องแก้ไข


6

พยายามเพิ่มสิ่งนี้เป็นความคิดเห็นในการโพสต์ของRob Prouseแต่การไม่มีการจัดรูปแบบทำให้ไม่เข้าใจ

ใน Visual Studio 2010 กล่องโต้ตอบ "Tools | Options | Projects and Solutions | VC ++ Directories" จะรายงานว่า "VC ++ Directories แก้ไขใน Tools> Options ถูกเลิกใช้แล้ว" โดยเสนอให้คุณใช้ Property Manager ที่ใช้งานง่ายแทน

หากคุณต้องการอัปเดต $ (IncludePath) เริ่มต้นจริงๆคุณต้องแฮ็กรายการที่เหมาะสมในไฟล์ XML ไฟล์ใดไฟล์หนึ่ง:

\ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ Platforms \ Win32 \ PlatformToolsets \ v100 \ Microsoft.Cpp.Win32.v100.props

หรือ

\ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ Platforms \ x64 \ PlatformToolsets \ v100 \ Microsoft.Cpp.X64.v100.props

(อาจไม่แนะนำให้ใช้ Microsoft)


6

ดูเหมือนว่าจะมีข้อบกพร่องในชุมชน Visual Studio 2015 สำหรับโปรเจ็กต์ 64 บิตจะไม่พบโฟลเดอร์รวมเว้นแต่จะอยู่ในการกำหนดค่า win32 บิตรายการโฟลเดอร์รวมเพิ่มเติม


3
คุณมีลิงค์ไปยังจุดบกพร่องนี้หรือข้อมูลอ้างอิงหรือไม่?
เปรียญ

ไม่ฉันพบด้วยตัวเองและไม่ได้รายงาน
Markus

5

มีคำถามใหม่กว่าสิ่งที่ทำให้เกิดปัญหาได้ดีขึ้นถามว่ารวมพา ธ ทำงานอย่างไรใน Visual Studio

มีการเปิดเผยวิธีการทำใน VisualStudio เวอร์ชันใหม่กว่า

  • ในโครงการปัจจุบันเท่านั้น (เนื่องจากมีการตั้งคำถามไว้ที่นี่ด้วย) เช่นเดียวกับ
  • สำหรับทุกโครงการใหม่เป็นค่าเริ่มต้น

ประการที่สองคือสิ่งที่คำตอบของ Steve Wilkinson ข้างต้นอธิบายว่าอะไรคือสิ่งที่เขาควรจะเป็นไม่ใช่สิ่งที่ Microsoft จะแนะนำ

พูดสั้น ๆ ที่นี่: ทำ แต่ทำใน User-Directory ที่

C: \ Users \ UserName \ AppData \ Local \ Microsoft \ MSBuild \ v4.0

ในไฟล์ XML

Microsoft.Cpp.Win32.user.props

และ / หรือ

Microsoft.Cpp.x64.user.props

และไม่อยู่ในไดเร็กทอรี C: \ program files - ซึ่งคาดว่า Factory-File ที่ไม่ได้แก้ไขของ Microsoft จะอยู่

จากนั้นคุณก็ทำตามที่ VisualStudio ทำเช่นกันและทุกอย่างก็เป็นปกติ

สำหรับข้อมูลเพิ่มเติมว่าทำไมจะทำมันเหมือนกันเห็นคำตอบของฉันมี


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