0Pricing
C++ Academy · บทเรียน

การสร้างไฟล์สำหรับ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างโปรเจกต์ CMake และ CMakeLists.txt
  2. เป้าหมาย การเชื่อมโยง และการมองเห็น PUBLIC PRIVATE
  3. การใช้ vcpkg และ Conan จัดการไลบรารีภายนอก
  4. การสร้างไฟล์สำหรับ IDE และการสร้างข้ามแพลตฟอร์ม
← กลับไปที่ C++ Academy