การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม
สร้างไฟล์โปรเจกต์ของ Visual Studio, Xcode และ Ninja สำหรับการพัฒนาข้ามแพลตฟอร์ม
การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม เป็นบทเรียน C++ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C++ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตัวสร้าง
CMake สร้างไฟล์การสร้างโปรแกรมสำหรับแบ็กเอนด์ได้หลายชนิด เลือกด้วย -G:
"Unix Makefiles""Ninja""Visual Studio 17 2022""Xcode"
Ninja: การสร้างที่รวดเร็ว
Ninja เป็นตัวสร้างที่แนะนำสำหรับการใช้งานผ่านบรรทัดคำสั่ง เพราะสร้างแบบเพิ่มทีละส่วนได้รวดเร็ว
cmake -B build -G Ninja
ninja -C buildตัวสร้าง Visual Studio
สร้างโซลูชัน Visual Studio เพื่อแก้ไขและแก้จุดบกพร่องในสภาพแวดล้อมการพัฒนาแบบเบ็ดเสร็จ
cmake -B build -G "Visual Studio 17 2022"
# Open build/MyApp.sln in Visual Studioตัวสร้าง Xcode
สำหรับการพัฒนาบน macOS ให้สร้างโครงการ Xcode
cmake -B build -G Xcode
open build/MyApp.xcodeprojการผสานการทำงานกับ VS Code
ติดตั้งส่วนขยาย CMake Tools ส่วนขยายนี้เรียกใช้ CMake อย่างโปร่งใส และมีคำสั่งสำหรับสร้างโปรแกรม แก้จุดบกพร่อง และทดสอบ
CLion
CLion ใช้ CMake โดยตรง เพียงเปิด CMakeLists.txt ได้ทันที การกำหนดค่าจะจัดการผ่านสภาพแวดล้อมการพัฒนาแบบเบ็ดเสร็จ
การคอมไพล์ข้ามแพลตฟอร์ม
หากต้องการสร้างโปรแกรมสำหรับ OS หรือ CPU อื่น ให้ใช้ไฟล์ชุดเครื่องมือที่อธิบายคอมไพเลอร์ข้ามแพลตฟอร์ม
cmake -B build -DCMAKE_TOOLCHAIN_FILE=arm-linux.cmakeตัวอย่างไฟล์ชุดเครื่องมือ
ไฟล์ชุดเครื่องมืออย่างง่ายสำหรับ ARM Linux:
# arm-linux.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)โค้ดเฉพาะแพลตฟอร์ม
ใช้ตัวแปรของ CMake เพื่อควบคุมว่าจะรวมโค้ดหรือเป้าหมายที่เฉพาะกับแพลตฟอร์มหรือไม่
if(WIN32)
target_link_libraries(myapp PRIVATE ws2_32)
elseif(APPLE)
target_link_libraries(myapp PRIVATE "-framework Foundation")
elseif(UNIX)
target_link_libraries(myapp PRIVATE pthread)
endif()ค่าที่กำหนดไว้ล่วงหน้าของ CMake
กำหนดการกำหนดค่าทั่วไป เช่น คอมไพเลอร์ ตัวสร้าง และชุดเครื่องมือ ใน CMakePresets.json เรียกใช้ด้วย cmake --preset=name
การกำหนดค่าการสร้างบนตัวสร้างแบบหลายการกำหนดค่า
Visual Studio และ Xcode เป็นตัวสร้างแบบหลายการกำหนดค่า เลือกการกำหนดค่าด้วย --config ขณะสร้าง:
cmake --build build --config Releaseการผสานรวมกับ CI
GitHub Actions, GitLab CI และ Jenkins รองรับ CMake ทั้งหมด โปรดแคชการพึ่งพาระหว่างการทำงานแต่ละครั้งเพื่อเพิ่มความเร็ว
ตรวจสอบอย่างรวดเร็ว
ตัวสร้าง CMake ใดโดยทั่วไปเร็วที่สุดสำหรับการสร้างผ่านบรรทัดคำสั่ง
สรุปทบทวน
CMake รองรับตัวสร้างจำนวนมาก — Ninja สำหรับความเร็ว ตัวสร้างสำหรับ IDE (Visual Studio, Xcode) สำหรับการพัฒนา โปรดใช้ไฟล์ชุดเครื่องมือสำหรับการคอมไพล์ข้ามแพลตฟอร์ม ใช้ค่าที่ตั้งไว้ล่วงหน้าสำหรับการกำหนดค่าร่วมกัน และใช้สาขาตามแพลตฟอร์มสำหรับโค้ดเฉพาะระบบ
คำถามที่พบบ่อย
บทเรียน “การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C++ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม”
สร้างไฟล์โปรเจกต์ของ Visual Studio, Xcode และ Ninja สำหรับการพัฒนาข้ามแพลตฟอร์ม คุณปฏิบัติ C++ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C++ Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน C++ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน C++ Academy นี้ได้ไหม
ได้ บทเรียน C++ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โครงสร้างโปรเจกต์ CMake และ CMakeLists.txt
- เป้าหมาย การเชื่อมโยง และการมองเห็น PUBLIC PRIVATE
- การใช้ vcpkg และ Conan จัดการไลบรารีภายนอก
- การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม