ฉันเพิ่งดาวน์โหลด Visual Studio Update 1 ใหม่ และกำลังพยายามให้ CMake สร้างชุดเครื่องมือแพลตฟอร์มที่ถูกต้อง
สิ่งใหม่ในการอัปเดต 1 มีชุดเครื่องมือใหม่: Clang 3.7 พร้อม Microsoft CodeGen
ค่อนข้างน่าตื่นเต้นฮะ!
อย่างไรก็ตาม ฉันกำลังพยายามให้ CMake สร้างชุดเครื่องมือที่ถูกต้องที่นี่
ข้อสันนิษฐานที่ 1: ชื่อของชุดเครื่องมือที่ CMake จะยอมรับคือ v140_clang
ฉันถือว่าสิ่งนี้เพราะนั่นคือสิ่งที่อยู่ในวงเล็บ และนั่นคือสิ่งที่ใช้ในชุดเครื่องมืออื่น เช่น
7C:\Users\russe\Documents\TestCMAKECLANG>ls
CMakeLists.txt main.cpp
C:\Users\russe\Documents\TestCMAKECLANG>cat CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
add_executable(TestEXE main.cpp)
C:\Users\russe\Documents\TestCMAKECLANG>cat main.cpp
// use some fancy c++14 feature that VS doesn't have
template<typename T>
constexpr T doThing{};
int main(){}
C:\Users\russe\Documents\TestCMAKECLANG>
v120
เป็นต้น
ดังนั้นฉันจึงตั้งค่ากรณีทดสอบง่ายๆ:
C:\Users\russe\Documents\TestCMAKECLANG>ls
CMakeLists.txt main.cpp
C:\Users\russe\Documents\TestCMAKECLANG>cat CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
add_executable(TestEXE main.cpp)
C:\Users\russe\Documents\TestCMAKECLANG>cat main.cpp
// use some fancy c++14 feature that VS doesn't have
template<typename T>
constexpr T doThing{};
int main(){}
C:\Users\russe\Documents\TestCMAKECLANG>
ต่อไป ฉันรัน CMake ด้วยอาร์กิวเมนต์ที่ถูกต้อง:
สมมติฐานที่ 2: ฉันมีข้อโต้แย้งที่ถูกต้อง
C:\Users\russe\Documents\TestCMAKECLANG>cmake -G "Visual Studio 14 2015" -T "v140_clang_3_7"
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error in :
No CMAKE_C_COMPILER could be found.
CMake Error in :
No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!
See also "C:/Users/russe/Documents/TestCMAKECLANG/CMakeFiles/CMakeOutput.log".
See also "C:/Users/russe/Documents/TestCMAKECLANG/CMakeFiles/CMakeError.log".
C:\Users\russe\Documents\TestCMAKECLANG>
พูดว่าอะไรนะ! ไม่พบ CMAKE_C_COMPILER
หรือ CMAKE_CXX_COMPILER
ดังนั้นมันจึงไม่ได้ผล มาดูกัน อาจเป็นเพราะ -T
ทำงานไม่ถูกต้อง มาทดสอบด้วย v120
C:\Users\russe\Documents\TestCMAKECLANG>cmake -G "Visual Studio 14 2015" -T "v120"
-- The C compiler identification is MSVC 18.0.31010.0
-- The CXX compiler identification is MSVC 18.0.31010.0
-- Check for working C compiler using: Visual Studio 14 2015
-- Check for working C compiler using: Visual Studio 14 2015 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 14 2015
-- Check for working CXX compiler using: Visual Studio 14 2015 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/russe/Documents/TestCMAKECLANG
C:\Users\russe\Documents\TestCMAKECLANG>
ทำงานเหมือนทารกแรกเกิด อืม.
เอาล่ะเพื่อนๆ แล้วไงต่อ?
clang
และclang++
ใน PATH ใช่ไหม - person arrowd   schedule 01.12.2015