ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ mingw ΠΊ clion
ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ CLion Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°?
Π― ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΊΠ°ΡΠ°Π» CLion Ρ https://www.jetbrains.com/, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΠΎΠΆΠ°Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ. Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡΠΎΡΡΠΎΠΉ «ΠΏΡΠΈΠ²Π΅Ρ ΠΌΠΈΡ»).
ΠΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° «Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ», ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°:
ΠΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠΎΠΉ CMakeList.txt Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π― ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎ Ρ «ΠΡΠ΅ ΡΠ΅Π»ΠΈ». Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π²ΡΠ΅, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠΆΠ΅Ρ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π΄Π΅ΡΡ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ? ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ.
ΠΠ’ΠΠΠ’Π«
ΠΡΠ²Π΅Ρ 1
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ CLion 1.2.1 (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°) ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows 10. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π» ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΡ ΠΠ‘. ΠΠΎΡ ΠΠ‘ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠ½Π° Π΄ΠΈΡΠΊΠ΅ C:\ΠΈ CLion 1.2.1, Π° Cygwin (64-ΡΠ°Π·ΡΡΠ΄Π½Π°Ρ Π²Π΅ΡΡΠΈΡ) ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅ D: \.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΠ²ΡΠ·Π°Π½Π° Ρ CMake. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Cygwin. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ Ρ ΡΠ°Π³Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ ΠΠ’ΠΠΠ ΠΠ’ΠΠΠ’ (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄Π»Ρ MinGW, Π½ΠΎ Ρ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»):
ΠΠΠΠΠΠ ΠΠ’ΠΠΠ’:
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
Π£Π΄Π°Π»ΠΈΡΠ΅/ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ Cygwin (MinGW Π² Π²Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅)
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ CLion ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Cygwin (x64 Π΄Π»Ρ ΠΌΠΎΠ΅ΠΉ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΠ‘)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ Cygwin: gcc g++ make Cmake gdb Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ CLION. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° CLion (Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡΡ ΡΡΡΠ»ΠΎΠΊ, ΠΏΠΎΠΊΠ° Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΠΈ).
[Π Win 10 ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° «ΠΡΠΎΡ ΠΠ» ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ «Π‘Π²ΠΎΠΉΡΡΠ²Π°» β «Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ» β «ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ». β Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅» β Π½Π°ΠΉΠ΄ΠΈΡΠ΅ «ΠΡΡΡ» β Π½Π°ΠΆΠΌΠΈΡΠ΅ «ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ», ]
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΠΏΠΊΡ «bin» Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Path. ΠΠ»Ρ Cygwin Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»: D:\cygwin64\bin
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ CLion ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² «ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ» Π»ΠΈΠ±ΠΎ Ρ ΡΠΊΡΠ°Π½Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ, Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠ°ΠΉΠ»Π° β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
Π «Π‘ΡΠ΅Π΄Π°» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Cygwin (ΠΈΠ»ΠΈ MinGW)
ΠΠ»Ρ «ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° CMake» Π²ΡΠ±Π΅ΡΠΈΡΠ΅ «ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ CMake x.x.x» (3.3.2 Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°)
ΠΠΈΠΆΠ΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π³Π°Π»ΠΎΡΠΊΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ make, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ C ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π‘++
Π ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ» β «Π‘ΠΎΠ·Π΄Π°ΡΡ» ΡΠ΅ΠΏΠ΅ΡΡ Π°ΠΊΡΠΈΠ²Π΅Π½
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ! Π£Π΄Π°ΡΠΈ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡΠ΅ΡΡ CLION.
ΠΡΠ²Π΅Ρ 2
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π² ΠΠ»ΠΈΠΎΠ½Π΅ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΅ΡΠΈΠ» ΠΈΡ . ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ.
ΠΡΠ²Π΅Ρ 3
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Microsoft Visual Studio Π²ΠΌΠ΅ΡΡΠΎ Cygwin ΠΈΠ»ΠΈ MinGW Π² ΡΡΠ΅Π΄Π΅ Windows Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΄Π»Ρ CLion.
Π¨ΠΊΠΎΠ»Π°179
MinGW β Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GNU C/C++ Π΄Π»Ρ Windows. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΡΠΎΠΌΠ΅ Visual Studio, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ. Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° ΡΠ΅ΡΠ½ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ MinGW ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ MinGW. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Code::Blocks.
ΠΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠ΅Π΄Π° CLion ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ MinGW. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ MinGW ΠΈΠ· Code::Blocks, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ MinGW Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Code::Blocks, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ MinGW ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ: C:\Program Files (x86)\CodeBlocks\MinGW\. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π² Code::Blocks Π²Π΅ΡΡΠΈΡ MinGW, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠ°ΡΠ°Ρ.
1. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ MinGW-w64
1. Π‘ΠΊΠ°ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ mingw-w64-install.exe ΠΎΡΡΡΠ΄Π° ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ next. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ MinGW.
2. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ MinGW ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ: Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π±ΡΠ΄Π΅Ρ 7.2.0 Π½Π° Π½Π°ΡΠ°Π»ΠΎ 2018 Π³.), Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 32-Π±ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ i686 Π½Π° 64-Π±ΠΈΡΠ½ΡΡ x86_64), Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅Π½ΡΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ.
3. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΡΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ.
4. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠ΄Π΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
5. ΠΠ΄Π΅ΠΌ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ «Click Next to continue the installation» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next.
6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ bin ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΡΠ΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MinGW, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH.
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Clion
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Clion Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ. ΠΠΌΡΠΌ «Next» Π½Π° Π²ΡΠ΅Ρ ΡΠΊΡΠ°Π½Π°Ρ . ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° CLion ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°.
1. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°ΡΡ OK. ΠΠ° Π΄ΡΡΠ³ΠΈΡ
ΡΠΊΡΠ°Π½Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π½ΠΈΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ «Next».
file:clion1.png
2. ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Clion, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ° Π½Π° ΡΠ°ΠΉΡΠ΅ jetbrains.com. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ https://www.jetbrains.com/student/, ΠΏΡΠΈ ΡΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°Π΄ΡΠ΅Ρ Π² Π΄ΠΎΠΌΠ΅Π½Π΅ @179.ru β ΡΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° Π²ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
file:clion2.png
3. ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW. ΠΠ»ΠΈΠΊΠ°ΠΉΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΡ MinGW.
file:clion2.png
4. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ MinGW («Use MinGW home»). ΠΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° clion ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ gdb.
file:clion4.png
5. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΊΡΠ°Π½Π°Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΎΠ½ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΆΠΌΠ΅ΠΌ Next.
3. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Code::Blocks
1. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Code::Blocks, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ MinGW, Π° ΠΏΠΎΡΠΎΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ MinGW. Π‘ΡΡΠ»ΠΊΠ° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ: https://sourceforge.net/projec[..]w-setup.exe/download
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Code::Blocks Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ.
3. ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Code::Blocks ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Gnu GCC Compiler β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ. ΠΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ MinGW. ΠΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΌΠ΅Π½Ρ «Settings β Compiler», ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Toolchain exacutables» Compiler’s installation directory Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ MinGW (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C:\soft\mingw-w64\i686-7.2.0-posix-dwarf-rt_v5-rev1\mingw32)
ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ Clion Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°
Π― ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Clion ΠΎΡ https://www.jetbrains.com/ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΠΎΠΆΠ°Ρ Π²ΡΡ ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.
ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΎΡΠ±ΡΠΎΡΡΡΠ΅ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Ρ ΠΏΡΡΠ°ΡΡΡ, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡΠΎΡΡΠΎΠΉ hello world one )
ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° «Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ», ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Rest, ΠΏΠΎΡ ΠΎΠΆΠ΅, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎΠΉ CMakeList.ΡΡ Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π― ΠΏΡΡΠ°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎ Ρ «Π²ΡΠ΅ ΡΠ΅Π»ΠΈ», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ setupt Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ. ΠΡΠ΅, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π·Π΄Π΅ΡΡ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ, Ρ ΠΊΠΎΠ³ΠΎ Π±ΡΠ»ΠΈ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π½ΡΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ? Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
3 ΠΎΡΠ²Π΅ΡΠΎΠ²
Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ CLion 1.2.1 (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°) ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Windows 10. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΡ ΠΠ‘. ΠΠΎΡ ΠΠ‘ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ C:\, Π° CLion 1.2.1 ΠΈ Cygwin (64-Π±ΠΈΡ) ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅ D:\.
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΡΠ²ΡΠ·Π°Π½Π° Ρ CMake. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Cygwin. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ Ρ ΡΠ°Π³Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΄Π»Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΠ ΠΠ’ΠΠΠ ΠΠ’ΠΠΠ’: (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° MinGW ΡΠΎΠΆΠ΅, Π½ΠΎ Ρ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠΎ):
ΠΠ’ΠΠΠ’:
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ:
ΡΠ΄Π°Π»ΠΈΡΡ / ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ Cygwin (MinGW Π² Π²Π°ΡΠ΅ΠΌ Π΄Π΅Π»ΠΎ)
ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ CLion ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½
Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Cygwin setup (x64 Π΄Π»Ρ ΠΌΠΎΠ΅ΠΉ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΠΠ‘)
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ Cygwin: gcc g++ make Cmake gdb Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡΡΡ CLion. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° CLion (Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ 2 ΡΡΡΠ»ΠΎΠΊ, ΠΏΠΎΠΊΠ° Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΊΠΈ.)
Π·Π°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Cygwin (ΠΈΠ»ΠΈ MinGW) Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ Windows Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ‘Path’. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Google, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Windows
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΠ° » bin » Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Path. ΠΠ»Ρ Cygwin Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»: D:\cygwin64\bin
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ‘Π‘Π±ΠΎΡΠΊΠ°, ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅’ Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ‘Toolchains’
ΠΊΠΎΠ΄ ‘ΡΡΠ΅Π΄Π°’ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Cygwin (ΠΈΠ»ΠΈ MinGW)
Π½Π° ‘CMake ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»’ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ‘ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ CMake x.X. x’ (3.3.2 Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°)
‘Debugger’ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΌΠ½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ‘Cygwin GDB GNU gdb (GDB) 7.8’ [ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ gdb Π² ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ;-)]
Π½ΠΈΠΆΠ΅ Π΅ΡΡΡ Π³Π°Π»ΠΎΡΠΊΠ° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ‘make’, ‘C compiler’ ΠΈ ‘ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C++’
ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ! Π£Π΄Π°ΡΠΈ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡΠ΅ΡΡ CLion.
Π― Π²ΡΡΡΠ΅ΡΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Clion ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡ . ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ.
Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Microsoft Visual Studio Π²ΠΌΠ΅ΡΡΠΎ Cygwin ΠΈΠ»ΠΈ MinGW Π² ΡΡΠ΅Π΄Π΅ Windows Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΄Π»Ρ CLion.
ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ «ΡΠ΅Π΅ΡΡΡ» Π±Π΅Π· » ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ CLion.Π²ΠΊΠ»ΡΡΠΈΡΡ.ΠΈΠ½Π΄Π΅ΠΊΡΠ° MSVC Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ toolchain Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Microsoft Visual Studio. (ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ΅Π½)
Quick start guide
0. Before you start
Is CLion a cross-platform IDE?
Yes, you can install and run CLion on Windows, macOS, and Linux.
See Install CLion for OS-specific instructions.
See CLion keyboard shortcuts for instructions on how to choose the right keymap for your operating system, and learn the most useful shortcuts.
What compilers and debuggers can I work with?
In CLion, you can use GCC-based compilers, Clang, Clang-cl, Visual Studio C++ compiler, as well as IAR compiler and custom-defined compiler. See Compilers for more information.
CLion supports debugging with GDB (either bundled or custom) on all platforms and with the bundled LLDB on macOS and Linux. Also, there is an LLDB-based debugger for the MSVC toolchain on Windows. Refer to the section on debugging below and to the page on Debugger options for details.
What build systems are supported? What are the project formats?
CLion fully integrates with the CMake build system: you can create, open, build and run/debug CMake projects seamlessly. CMake itself is bundled in CLion, so you don’t need to install it separately unless you decide to use a custom version.
Apart from CMake, CLion supports Makefile, compilation database, and Gradle projects. Creating new projects of these types in CLion is not supported currently.
Refer to Project Formats for details.
Do I need to install anything in advance?
On Windows, CLion requires a working environment. CLion bundles a version of the MinGW toolset for quick setup. You can use this bundled toolchain or switch to another MinGW installation, Cygwin, or Microsoft Visual C++. If you are working with WSL or Docker, you will need to install them as well.
On macOS, the required tools might be already installed. If not, update command line developer tools as described in Configuring CLion on macOS.
On Linux, compilers and make might also be pre-installed. Otherwise, in case of Debian/Ubuntu, install the build_essentials package and, if required, the llvm package to get Clang.
Are languages other that C++ supported as well?
Yes, CLion fully supports Python, Objective-C/C++, HTML (including HTML5), CSS, JavaScript, and XML. Support for these languages is implemented via the bundled plugins, which are enabled by default. See CLion features in different languages for more details.
You can install other plugins to get more languages supported in CLion (such as Rust, Swift, or Markdown). See Valuable language plugins.
1. Open/create a project
Open a local project
For CMake projects, use one of the following options:
Select File | Open and locate the project directory. This directory should contain a CMakeLists.txt file.
Checkout from a repository
Click Checkout from Version Control on the Welcome screen or select VCS | Checkout from Version Control from the main menu and choose your version control system.
Enter the credentials to access the storage and provide the path to the sources. CLion will clone the repository to a new CMake project.
Create a new CMake project
Select File | New Project from the main menu or click New Project on the Welcome screen.
Set the type of your project: C or C++, an executable or a library.
Note that STM32CubeMX and CUDA are also CMake-based project types.
Provide the root folder location and select the language standard.
CLion creates a new CMake project and fills in the top-level CMakeLists.txt :
The initial CMakeLists.txt file already contains several commands. Find their description and more information on working with CMake in our tutorial.
2. Take a look around
Project view shows your project files and directories. From here, you can manage project folders (mark them as sources, libraries, or excluded items), add new files, reload the project, and call for other actions such as Recompile.
Navigation bar helps you switch between the files’ tabs, and the Toolbar provides quick access to run/debug and VSC-related actions.
Right gutter shows the code analysis results with the overall file status indicator at the top.
Tool windows represent specific tools or tasks such as TODOs, CMake, terminal, or file structure.
Status bar shows various indicators for your project and the entire IDE: file encoding, line separator, memory usage, and others. Also, here you can find the resolve context switcher.
Any time you need to find an IDE action, press Ctrl+Shift+A or go to Help | Find Action and start typing the name of a command, setting, or even a UI element that you are looking for:
3. Customize your environment
Change the IDE appearance
The quickest way to switch between the IDE’s color schemes, code styles, keymaps, viewing modes, and look-and-feels (UI themes) is the Switch. pop-up. To invoke it, click View | Quick Switch Scheme or press Ctrl+` :
Tune the editor
Pages under the Editor node of the Settings / Preferences dialog help you adjust the editorβs behavior, from the most general settings (like Drag’n’Drop enabling and scroll configuration) to highlighting colors and code style options.
Adjust the keymap
There are also plugins that extend the list of available keymaps. For example, VS Code Keymap or Vim emulation (which includes the Vim keymap). Find more useful plugins for the CLion editor in Valuable non-bundled plugins.
4. Code with assistance
Auto-completion
Basic completion Ctrl+Space in CLion works as you type and gives a list of all available completions. To filter this list and see only the suggestions that match the expected type, use Smart completion Ctrl+Shift+Space :
Code generation
Even an empty class or a new C/C++ file contains boilerplate code, which CLion generates automatically. For example, when you add a new class, CLion creates a header with stub code and header guard already placed inside, and the corresponding source file that includes it.
To get the list of code generation options at any place in your code, press Alt+Insert to invoke the Generate menu:
These options can help you skip a lot of code writing. In addition to generating constructors/destructors, getters/setters, and various operators, you can quickly override and implement functions:
Intentions and quick-fixes
When you see a light bulb next to a symbol in your code, it means that CLion’s code analysis has found a potential problem or a possible change to be made:
Click the light bulb icon (or press Alt+Enter ) and choose the most suitable action or quick-fix:
Inspections
During on-the-fly code analysis, CLion highlights suspicious code and shows colored stripes in the right-hand gutter. You can hover the mouse over a stripe to view the problem description and click it to jump to the corresponding issue. The sign at the top of the gutter indicates the overall file status:
CLion detects not only compilation errors but also code inefficiencies like unused variables or dead code. Also, it integrates a customizable set of Clang-tidy checks.
You can also run inspections on demand for the whole project or a custom scope, and view the results in a separate window. For this, call Code | Inspect Code or use Code | Analyze Code | Run Inspection by Name Ctrl+Alt+Shift+I for a particular inspection.
From the results tool window, you can batch-apply quick fixes for several issues at a time. Click Fix partially in the description tab:
Refactorings
Refactorings help improve your code without adding new functionality, making it cleaner and easier to read and maintain. Use the Refactor section of the main menu or call Refactor This. Ctrl+Alt+Shift+T to get the list of refactorings available at the current location:
Rename Shift+F6 renames a symbol in all references;
Change Signature Ctrl+F6 adds, removes, or reorders function parameters, changes the return type, or updates the function name (affecting all usages);
Inline Ctrl+Alt+N /Extract inlines or extracts a function, typedef, variable, parameter, define, or constant;
Pull Members Up/Down ( Refactor | Pull Members Up / Push Members Down ) safely moves class members to the base or subclass.
5. Explore your code
Search everywhere
Find usages
To locate the usage of any code symbol, call Find Usages ( Alt+F7 or Edit | Find | Find Usages ). You can filter the results and jump back to the source code:
Navigate in the code structure
Switch between header and source file Ctrl+Alt+Home
Go to declaration/definition Ctrl+B Ctrl+Alt+B
Show file structure Alt+7
View type hierarchy Ctrl+H
View call hierarchy Ctrl+Alt+H
View import hierarchy Alt+Shift+H
For your code, CLion builds the hierarchies of types, call, imports, and functions. To view them, use the shortcuts given above or the commands in the Navigate menu. For example, type hierarchy helps you not only to navigate the code but also to discover what type relationships exist in the your codebase:
To explore the structure of the currently opened file, call View | Tool windows | Structure or press Alt+7 :
View pop-up documentation
Quick Documentation popup (available on mousehover or via the Ctrl+Q shortcut) helps you get more information on a symbol at caret without leaving the current context. Depending on the element you invoke it for, the popup shows:
function signature details,
code documentation (either regular or Doxygen comments),
inferred types for variables declared as auto :
formatted macro expansions :
Besides, you can instantly view the definition of a symbol at caret. Press Ctrl+Shift+I to invoke the Quick Definition popup:
6. Build and run
Run/Debug configurations
For each target in your project, CLion creates a run/debug configuration. It is a named setup which includes target, executable, arguments to pass to the program, and other options.
Edit Configurations dialog is accessible from the Run menu or the configuration switcher. Here you can manage the templates and add, delete, or edit your configurations.
For example, you can customize the steps to be taken Before launch : call external tools (including the remote ones), use CMake install, or even run another configuration.
Build actions
Build is included in many Run/Debug configuration templates as a default pre-launch step. However, you can also perform it separately by calling the desired action from the Build menu:
Notice the Recompile option that compiles a selected file without building the whole project.
Remote and embedded development
With CLion, you can also build and run/debug on remote machines including embedded targets. See the sections on Remote development and Embedded development.
7. Debug
CLion integrates with the GDB backend on all platforms (on Windows, the bundled GDB is available only for MinGW) and LLDB on macOS/Linux. You can switch to a custom version of GDB on all platforms. Also, CLion provides an LLDB-based debugger for MSVC on Windows.
Currently, the versions of the bundled debuggers are the following:
LLDB v 13.0.0 for macOS/Linux and 9.0.0 for Windows (MSVC)
GDB v 10.2 for macOS
GDB v 10.2 for Windows
GDB v 10.2 for Linux
Custom GDB v 7.8.x-11.1