Setelah menginstal Visual Studio 2015 dan menjalankan CMake pada proyek sebelumnya, kesalahan CMake menyatakan bahwa ia tidak dapat menemukan compiler C.
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.
Saya pergi mencari cl.exe
di folder Visual Studio C:\Program Files\Microsoft Visual Studio 14.0
, dan tidak dapat menemukannya.
Bagaimana cara menyiapkan CMake agar berfungsi di Windows dengan Visual Studio 2015?
c++
cmake
visual-studio-2015
Asyer
sumber
sumber
PATH
mencari program yang dibutuhkannya, jadi jika tidak diperbarui maka ia tidak dapat menemukan kompilernya.Jawaban:
Saya sudah menemukan solusinya. Sementara Visual Studio IDE berhasil diinstal, tidak menginstal alat pembuatan apa pun dan oleh karena itu tidak menginstal compiler C ++.
Dengan mencoba untuk secara manual membuat proyek C ++ di Visual Studio 2015 GUI saya dapat meminta untuk mengunduh paket C ++. CMake kemudian dapat menemukan kompiler tanpa kesulitan apapun.
sumber
Inilah solusi yang berhasil untuk saya:
Semoga berjalan tanpa masalah.
sumber
cmake ..
dari sana. Tetap mendapat suara positif, karena terminal git-bash misalnya tidak secara otomatis meletakkan semuanya di jalurnya. Ini membantu saya!Saya mencari di file CMakeError.log dan menemukan kesalahan tentang
cannot run 'rc.exe'
Saya mencari dan menemukan jawaban ini untuk menyalin RC.Exe dan RcDll.Dll dari Microsoft SDKs bin ke VC bin, dan kemudian CMake bekerja.
Sunting: Jawaban teratas untuk pertanyaan lain menunjukkan bahwa ini adalah masalah PATH, sehingga cukup untuk memastikan bin Microsoft SDK ada di PATH Anda.
sumber
Pastikan Anda menggunakan versi Visual Studio yang benar di generator. Saya telah salah memilih Visual Studio 15 ketika Visual Studio 14 diinstal.
sumber
Mereka yang tersandung dengan ini di Visual Studio 2017: ada fitur yang terkait dengan CMake yang perlu dipilih dan diinstal bersama dengan kumpulan alat kompiler yang relevan. Lihat gambar di bawah.
sumber
Jika tidak ada solusi di atas yang berhasil, hentikan dan lakukan pemeriksaan kewarasan.
Saya terbakar menggunakan
-G <config>
string yang salah dan itu memberi saya kesalahan yang menyesatkan ini.Pertama, jalankan dari VS Command Prompt bukan dari command prompt biasa. Anda dapat menemukannya di
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
Ini mengatur semua jalur yang benar ke alat VS, dll.Sekarang lihat generator apa yang tersedia dari cmake ...
cmake -help
...<snip>... The following generators are available on this platform: Visual Studio 15 [arch] = Generates Visual Studio 15 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". ...
Kemudian pilih string yang sesuai dengan [lengkungan] yang ditambahkan.
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Menjalankan cmake di subdirektori membuatnya lebih mudah untuk melakukan 'pembersihan' karena Anda bisa menghapus semua yang ada di direktori itu.
Saya memutakhirkan ke Visual Studio 15 tetapi tidak memperhatikan dan mencoba menghasilkan untuk 2012.
sumber
Bagi saya, saya memeriksa
CMakeError.log
file dan menemukan:Ini meskipun menggunakan Visual Studio 2017 pada Windows 7. Jadi tampaknya CMake mencoba membangun proyek pendeteksiannya dengan Windows 8.1 SDK.
Saya menggunakan penginstal Visual Studio untuk menambahkan komponen itu dan sekarang CMake senang sebagai kerang.
sumber
Menu → Visual Studio 2015 → MSBuild Command Prompt untuk Visual Studio 2015. Kemudian CMake dapat menemukan
cl.exe
.Ubah jalur atas ke tempat SDK Windows Anda diinstal.
CMake dapat menemukan
rc.exe
.cd ke jalur
CMakeLists.txt
dan lakukan:Parameter setelah
-G
harus diambil oleh CMake. Gunakan--help
; Anda mungkin memiliki atau tidak memiliki generator.sumber
Saya mengalami masalah yang sama dan memperbaikinya dengan meluncurkan kembali Visual Studio Install dan memeriksa opsi berikut:
Windows and Web Development
/Universal Windows App Development Tools
/Windows 10 SDK
Ini berisi header C ++ standar yang digunakan di sebagian besar aplikasi dan oleh karena itu sering kali perlu untuk menginstalnya juga.
sumber
Saya mengalami masalah ini di bawah Windows 10 saat menggunakan Visual Studio 2015 Professional, sementara Visual Studio 2015 Express berfungsi! Di bawah Windows 7, kedua versi Visual Studio dulu berfungsi.
Proyek baru yang dibuat dari Visual Studio 2015 Professional IDE berhasil dikompilasi, tetapi CMake akan gagal menemukan pelaporan compiler:
Saya memutakhirkan CMake dari 3.4.1 menjadi 3.11.4, dan sekarang masalahnya hilang.
sumber
Jika Anda menggunakan Visual Studio 2017, Anda memerlukan setidaknya CMake 3.8!
sumber
Saya memiliki masalah serupa dengan proyek Visual Studio 2017 yang dihasilkan melalui CMake. Beberapa paket hilang saat menginstal Visual Studio dalam pengembangan Desktop dengan C ++. Lihat snapshot:
Paket Visual Studio 2017:
Selain itu, tingkatkan CMake ke versi terbaru.
sumber
Dalam kasus saya, ada satu set variabel lingkungan yang menjadi alasan kesalahan ini. Masalahnya diselesaikan setelah menghapus cxx_flags dari variabel lingkungan.
sumber
Saya mendapat masalah ini dengan CMake 3.12.1, setelah pembaruan Visual Studio 2017. Saya cukup menjalankan ulang CMake dan berhasil.
sumber
Dalam kasus saya, saya dapat melihat
CMakeError.log
bahwa CMake tidak dapat menemukan SDK Windows (MSB8003: Could not find WindowsSDKDir variable from the registry
).Versi dapat ditentukan pada baris perintah pada CMake pertama yang dijalankan menggunakan:
Saya melangkah lebih jauh setelah mengaturnya, tetapi saya mengalami lebih banyak masalah nanti (jadi saya berasumsi lingkungan saya entah bagaimana kacau), tetapi mungkin itu akan membantu seseorang dengan masalah ini.
sumber
Beberapa tip:
Masalah saya adalah kombinasi dari yang disebutkan sebelumnya: Saya telah menyetel versi kompiler ke 15, bukan 14 dan ketika diperbaiki, saya harus menghapus cache.
Saya juga memulai prompt perintah Visual Studio sebagai administrator dan dari sana saya menjalankan cmake-gui.exe
Kemudian semuanya berjalan sebagaimana mestinya.
sumber
Dalam kasus saya, masalahnya adalah bahwa proyek induk, yang termasuk googletest via
didefinisikan sebagai
Entah bagaimana, CMake tidak mengenali
karena kompilator C tidak disetel di induknya.
Saya memecahkan masalah dengan menggunakan
di
CMakeLists.txt
file utama saya .sumber
Ini mungkin solusi lain bagi mereka yang memiliki versi pembuat Windows 10 terbaru:
Stack Overflow post Kesalahan fatal LNK1104: tidak dapat membuka file 'gdi32.lib'
sumber
Tidak ada solusi sebelumnya yang berhasil untuk saya. Namun saya perhatikan bahwa meskipun saya menginstal Visual Studio versi 15 (jangan dikelirukan dengan Visual Studio 2015) direktori yang dibuat di komputer saya adalah untuk Visual Studio 14.
Ketika saya menentukan Visual Studio 14 ketika saya menekan tombol konfigurasi itu berhasil.
sumber
saya menemukan solusi ini di stackoverflow dan saya bekerja untuk saya meskipun tidak berfungsi solusi lain jika Anda memiliki OS windows 10, melakukan langkah-langkah berikut akan memperbaiki masalah:
1) pergi ke C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) lalu salin RC.exe dan RcDll dari file ini
3) pergi ke C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin dan tempelkan dua file yang telah Anda salin ke dalamnya.
hanya itu yang saya harap ini membantu ...
sumber
Lihat di Cmakelists.txt jika Anda menemukan ARM Anda perlu menginstal C ++ untuk ARM dan juga menggunakan vcvarsall.bat untuk folder bin ARM.
Ini paket-paket ini:
Platform Windows Universal C ++ untuk ARM64 "Tidak Diperlukan"
Visual C ++ Compiler dan library untuk ARM "Tidak Diperlukan"
Visual C ++ Compiler dan library untuk ARM64 "Sangat Mungkin Diperlukan"
Kemudian masalahnya mungkin hilang:
Tidak ada CMAKE_COMPILER yang dapat ditemukan.
Tidak ada CMAKE_CXX_COMPILER yang dapat ditemukan.
Jika di atas tidak menyelesaikan masalah Anda?
Secara opsional, Anda dapat menghapus opsi C dan CXX di cmakelists.txt dengan menyetel # di depan tempat enable_language (C) berada. Dan hindari kompilasi prosesor Android ARM.
sumber
Diselesaikan dengan menambahkan komponen yang hilang Modify-> lanjutkan tambahkan sebagai berikut
sumber
Saya memiliki masalah terkait: generator Visual C ++ bahkan tidak ada dalam daftar saat dijalankan
cmake --help
.Saya menjalankan
where cmake
konsol dan menemukan bahwa cygwin juga menyediakan file cmake.exe sendiri , yang sedang digunakan. Mengubah urutan direktori di PATH memperbaiki masalah.sumber
Memeriksa CMakeErrors.log di CMakeFiles menghasilkan:
Kesalahan ini berarti bahwa alat pembangunan untuk XP (v140_xp) tidak diinstal. Untuk memperbaikinya saya menginstal fitur yang tepat di Visual Studio 2019 penginstal di bawah tab Komponen Individual:
sumber
Saya mengalami masalah ini dengan CMake GUI dan VS 21019 Community Edition. Saya pikir saya mungkin telah menginstal CMake sebelum Visual Studio - tentu saja setelah saya memperbarui CMake 3.15.2 ke 3.15.3 masalahnya hilang.
sumber
Periksa folder nama terlalu panjang atau tidak.
sumber
Karena CMake tidak dapat menemukan kompiler Visual Studio Anda. Mulailah proyek apa pun yang akan mengunduh kompiler yang diperlukan dan CMake harus dapat menemukannya nanti.
sumber