Setelah menginstal Visual Studio 2015 dan menjalankan CMake pada proyek sebelumnya, CMake kesalahan yang menyatakan bahwa hal itu tidak bisa menemukan C compiler.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Aku pergi mencari cl.exe
di folder Visual Studio,C:\Program Files\Microsoft Visual Studio 14.0
, dan tidak bisa menemukannya.
Bagaimana cara mengatur CMake untuk bekerja pada Windows dengan Visual Studio 2015?
Saya telah menemukan solusi. Sedangkan Visual Studio IDE berhasil diinstal itu tidak menginstal membangun alat-alat dan karena itu tidak install compiler C++.
Dengan mencoba untuk secara manual membuat C++ project di Visual Studio 2015 GUI saya bisa meminta untuk men-download C++ paket. CMake kemudian mampu menemukan compiler tanpa kesulitan apapun.
Di sini adalah solusi yang bekerja untuk saya:
Mudah-mudahan itu harus berjalan tanpa masalah.
Aku melihat di CMakeError.log file dan menemukan sebuah kesalahan tentang tidak bisa lari 'rc.exe'
Aku mencari dan menemukan jawaban ini untuk menyalin RC.Exe dan RcDll.Dll dari Microsoft Sdk bin ke VC bin, dan kemudian CMake bekerja.
Edit: atas jawaban untuk pertanyaan lain menunjukkan bahwa itu's sebuah masalah JALUR, sehingga bisa cukup untuk memastikan Microsoft SDK sampah di JALAN anda.
Jika tidak ada solusi di atas bekerja, kemudian berhenti dan melakukan pemeriksaan kesehatan.
Aku punya dibakar menggunakan salah -G <config>
string dan itu memberi saya ini menyesatkan kesalahan.
Pertama, jalankan VS Command Prompt tidak reguler command prompt. Anda dapat menemukannya di
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt untuk VS2015
Ini set up semua jalur yang benar untuk DIBANDINGKAN dengan alat-alat, dll.
Sekarang lihat apa yang generator yang tersedia dari cmake...
cmake -membantu
...<snip>... Berikut generator yang tersedia di platform ini: Visual Studio 15 [arch] = Menghasilkan Visual Studio 15 file proyek. Opsional [arch] dapat "Win64" atau "ARM". Visual Studio 14 2015 [arch] = Menghasilkan Visual Studio 2015 file proyek. Opsional [arch] dapat "Win64" atau "ARM". Visual Studio 12 2013 [arch] = Menghasilkan Visual Studio 2013 file proyek. Opsional [arch] dapat "Win64" atau "ARM". Visual Studio 11 2012 [arch] = Menghasilkan Visual Studio 2012 file proyek. Opsional [arch] dapat "Win64" atau "ARM". Visual Studio 2010 10 [arch] = Menghasilkan Visual Studio 2010 project file. Opsional [arch] dapat "Win64" atau "IA64". ...
Kemudian pilih string yang sesuai dengan [arch] menambahkan.
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Menjalankan cmake di sebuah subdirektori yang membuatnya lebih mudah untuk melakukan 'bersih' karena anda hanya dapat menghapus segala sesuatu yang ada di direktori tersebut.
Saya upgrade ke Visual Studio 15 tapi bukan't memperhatikan dan berusaha untuk menghasilkan untuk tahun 2012.
Bagi saya, saya diperiksa CMakeError.
log file dan ditemukan:
[...] kesalahan MSB8036: Windows SDK versi 8.1 tidak ditemukan. Menginstal diperlukan versi Windows SDK atau mengubah versi SDK di proyek properti di halaman atau dengan mengklik kanan-atas solusi dan memilih "Retarget solusi".
Ini adalah meskipun menggunakan Visual Studio 2017 pada Windows 7. Sehingga tampak bahwa CMake adalah mencoba untuk membangun deteksi proyek dengan Windows 8.1 SDK.
Saya menggunakan Visual Studio installer untuk menambahkan komponen dan sekarang CMake adalah bahagia seperti kerang.
Menu → Visual Studio 2015 → MSBuild Command Prompt untuk Visual Studio 2015. Kemudian CMake dapat menemukan cl.exe
.
set PATH="c:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\";%PATH%
Perubahan atas jalan ke mana anda Windows SDK diinstal.
CMake dapat menemukan rc.exe
.
cd untuk jalan CMakeLists.txt
dan lakukan:
md .build
cd .build
cmake .. -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release
cmake --build .
Kode param setelah -G
harus diambil oleh CMake. Gunakan --help
; anda mungkin atau mungkin tidak memiliki generator.
Aku berlari ke dalam masalah yang sama dan tetap dengan relaunching Visual Studio Menginstal dan memeriksa opsi berikut:
Windows dan Web Development
/ Universal Windows App Development Tools
/ Windows 10 SDK
Ini berisi standar C++ header yang digunakan di sebagian besar aplikasi, dan karena itu sering perlu untuk menginstalnya juga.
Aku punya masalah ini di bawah Windows 10 ketika menggunakan Visual Studio 2015 Profesional, sementara Visual Studio 2015 Express bekerja! Di bawah Windows 7, baik Visual Studio versi yang digunakan untuk bekerja.
Proyek-proyek baru yang dibuat dari Visual Studio 2015 Profesional IDE berhasil mengkompilasi, tapi CMake akan gagal untuk menemukan compiler pelaporan:
The C compiler identification is unknown
The CXX compiler identification is unknown
Saya upgrade CMake dari 3.4.1 untuk 3.11.4, dan sekarang masalahnya hilang.
Dalam kasus saya masalah ini adalah bahwa proyek induk, yang termasuk googletest melalui
add_subdirectory(gtest_dir)
didefinisikan sebagai
PROJECT( projname CXX )
Entah bagaimana, CMake tidak mengenali
PROJECT(sub_project_name CXX C)
sejak C compiler tidak diatur dalam orang tua.
Aku memecahkan masalah dengan menggunakan
PROJECT( projname CXX C)
di utama saya CMakeLists.txt
file.
Beberapa tips:
Masalah saya adalah kombinasi dari sebelumnya menyatakan: aku telah menetapkan compiler versi 15 bukan 14 dan ketika dikoreksi, saya harus menghapus cache.
Saya juga mulai Visual Studio command prompt sebagai administrator dan dari sana aku berlari cmake-gui.exe
Kemudian semuanya bekerja seperti yang seharusnya.
Dalam kasus saya, saya bisa melihat di CMakeError.log
yang CMake tidak bisa menemukan Windows SDK (MSB8003: tidak Bisa menemukan WindowsSDKDir variabel dari registri
).
Versi dapat ditentukan pada commandline di CMake berjalan menggunakan:
-DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=
Aku punya lebih lanjut setelah penetapan itu, tapi aku memukul isu yang lebih kemudian (jadi saya berasumsi lingkungan saya kacau entah bagaimana), tapi mungkin itu akan membantu orang dengan masalah ini.
Tak satu pun dari solusi sebelumnya bekerja untuk saya. Namun saya menyadari bahwa meskipun saya telah menginstal Visual Studio versi 15 (tidak harus bingung dengan Visual Studio 2015) direktori dibuat di komputer saya adalah untuk Visual Studio 14.
Ketika saya ditentukan Visual Studio 14 ketika saya menekan tombol konfigurasi bekerja.
Saya punya masalah yang sama dengan Visual Studio 2017 proyek yang dihasilkan melalui CMake. Beberapa paket yang hilang saat menginstal Visual Studio dalam pengembangan Desktop dengan C++. Lihat snapshot:
Visual Studio 2017 Paket:
Juga, meng-upgrade CMake ke versi terbaru.