Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++. Π‘Π±ΠΎΡ€Π½ΠΈΠΊ Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

Автор Π”. БтСфСнс

Π Π΅Ρ†Π΅ΠΏΡ‚Ρ‹ 1.4, 1.9, 1.17, 1.19 ΠΈ 1.23.

1.13. Π‘Π±ΠΎΡ€ΠΊΠ° слоТного прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IDE

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IDE для сборки исполняСмого Ρ„Π°ΠΉΠ»Π°, зависящСго ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… статичСских ΠΈ динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

РСшСниС

Основная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

1. ΠŸΡ€ΠΈ сборкС ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит исполняСмый Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ своих собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² IDE ΠΈΠ»ΠΈ make-Ρ„Π°ΠΉΠ»ΠΎΠ², создайтС для Π½ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ описано Π² Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°Ρ… 1.11 ΠΈ 1.12.

2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ трСбуСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», Π° Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сборки (Ρ‚.Π΅. ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ»ΠΈ отсутствиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ многопоточности).

4. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан.

5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ исходныС Ρ„Π°ΠΉΠ»Ρ‹.

6. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ компилятору, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

7. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΡƒ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π³Π΄Π΅ ΠΈΡ… ΠΈΡΠΊΠ°Ρ‚ΡŒ.

8. Π•сли IDE ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅, Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

9. Π•сли IDE ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², собСритС Π³Ρ€ΡƒΠΏΠΏΡƒ, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π½Π° шагС 8. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС собСритС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, обращая Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… сборки с Ρ†Π΅Π»ΡŒΡŽ соблюдСния зависимостСй.

Как ΠΈ Π² Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°Ρ… 1.11 ΠΈ 1.12, шаги Π² этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ IDE. Π’Ρ€Π΅Ρ‚ΠΈΠΉ шаг ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описываСтся Π² Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°Ρ… 1.21, 1.22 ΠΈ 1.23. А сСйчас Π²Ρ‹, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

НапримСр, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» ΠΈΠ· исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.3 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual C++ IDE.

Π’ мСню File Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Newβ†’Project, Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Visual Π‘++[4], Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Win32 Console Application ΠΈ Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ hellobeatles. Π’ мастСрС Win32 Application Wizard ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Application Settings, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Console Application (КонсольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) ΠΈ Empty Project (ΠŸΡƒΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Finish. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ hellobeatles.vcproj с двумя конфигурациями сборки β€” Debug ΠΈ Release, ΠΈ пСрвая Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ. Π’Π°ΠΊΠΆΠ΅ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ hellobeatles.sln, содСрТащСС ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ hellobeatles.vcproj.

Π—Π°Ρ‚Π΅ΠΌ, сдСлав Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Solution Explorer ΠΈ Π²Ρ‹Π±Ρ€Π°Π² Properties, ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ страницы свойств ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Configuration Properties (Бвойства ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ)β†’Linker (ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ)β†’General (ΠžΠ±Ρ‰ΠΈΠ΅) ΠΈ Π² ΠΏΠΎΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Output File (Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ») Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΈ ΠΏΡƒΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ДирСктория этого ΠΏΡƒΡ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ binaries, ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π² Π½Π°Ρ‡Π°Π»Π΅ этой Π³Π»Π°Π²Ρ‹, Π° имя Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ hellobeatles.exe.

Π—Π°Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ исходный Ρ„Π°ΠΉΠ» hellobeatles.cpp ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Add Existing Item (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт) ΠΈΠ· мСню Project. Π’Π΅ΠΏΠ΅Ρ€ΡŒ страницы свойств ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΠ·Π΅Π» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«C/C++Β». ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Configuration Propertiesβ†’C/C++β†’Code Generation (ГСнСрация ΠΊΠΎΠ΄Π°) ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² качСствС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Multi-threaded Debug DLL (многопоточная отладочная динамичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°).

ВмСсто использования ΠΎΠΏΡ†ΠΈΠΈ Add Existing Item, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.1, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Add New Item (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт), Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ пустыС исходныС Ρ„Π°ΠΉΠ»Ρ‹. ПослС этого Π²ΠΎ вновь созданныС Ρ„Π°ΠΉΠ»Ρ‹ трСбуСтся ввСсти ΠΈΠ»ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° содСрТимоС ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.1. АналогичныС замСчания Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Configuration Propertiesβ†’C/C++β†’General ΠΈ Π² ΠΏΠΎΠ»Π΅ рСдактирования с ΠΈΠΌΠ΅Π½Π΅ΠΌ Additional Include Directories (Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, которая содСрТит Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ johnpaul ΠΈ georgeringo, β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ Β«Π΄Π΅Π΄ΡƒΡˆΠΊΠΎΠΉΒ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ john.hpp, ringo.hpp ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ include Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ hellobeatles.hpp.

Π”Π°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Addβ†’Existing Project… (Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ проСкт…) ΠΈΠ· мСню File Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ hellobeatles Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² libjohnpaul.vcproj ΠΈ libgeorgeringo.vcproj. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ Project Dependencies… (Зависимости проСктов…), Π² мСню Project Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Project Dependencies. Π’ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡΡ спискС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ hellobeatles ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Ρ„Π»Π°ΠΆΠΊΠ°Ρ… рядом с libjohnpaul ΠΈ libgeorgeringo.

Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½Π΅Ρ‚ нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ создайтС пустоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π²Ρ‹Π±Ρ€Π°Π² Π² мСню File ΠΏΡƒΠ½ΠΊΡ‚ Newβ†’Blank Solution…, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π²Ρ‹Π±Ρ€Π°Π² Π² мСню File ΠΏΡƒΠ½ΠΊΡ‚ Newβ†’Project….

НаконСц собСритС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹Π±Ρ€Π°Π² Π² мСню Build ΠΏΡƒΠ½ΠΊΡ‚ Build Solution. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ binaries Π±Ρ‹Π»ΠΈ созданы Ρ„Π°ΠΉΠ»Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ libjohnpaul.lib, libgeorgeringo.dll, libgeorgeringo.lib ΠΈ hellobeatles.exe. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² мСню Debug Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Start Without Debugging (Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ).

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π»ΠΎ достаточно просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ hellobeatles.exe зависит ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ libjohnpaul.lib ΠΈ libgeorgeringo.dll, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π΅ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠΎΠ±ΠΈΡ€Π°Π»ΠΈΡΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Visual C++ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ сборкС прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ зависит ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, распространяСмых Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Visual C++, ΠΊΠ°ΠΊ ΠΈΡ… Π½Π°ΠΉΡ‚ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Configuration Propertiesβ†’C/C++β†’General ΠΈ Π² ΠΏΠΎΠ»Π΅ рСдактирования Additional Include Directories Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Configuration Propertiesβ†’Linkerβ†’Input ΠΈ Π² ΠΏΠΎΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Additional dependencies (Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Π½Π° этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. НаконСц ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Configuration Propertiesβ†’Linkerβ†’General ΠΈ Π² ΠΏΠΎΠ»Π΅ рСдактирования Additional Include Directories Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ· исходного ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.3 ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CodeWarrior, C++Builder ΠΈ Dev-C++.

CodeWarrior

Π’ мСню File Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ New… ΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ New Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Project. Π’ качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π²Π΅Π΄ΠΈΡ‚Π΅ hellobeatles.mcp, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ мСсто для сохранСния настроСчных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° Mac OS C++ Stationery. Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ New Project раскройтС ΡƒΠ·Π΅Π» Mac OS X Mach-O and Standard Console, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° C++ Console Mach-O. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с двумя цСлями β€” Mach-O C++ Console Debug ΠΈ Mach-O C++ Console Final, ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пСрвая ΠΈΠ· Π½ΠΈΡ….

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ зависимостСй Π²Π°ΠΌ придСтся ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° эти Ρ†Π΅Π»ΠΈ ΠΏΠΎ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ, ΠΈΠΌ слСдуСт Π΄Π°Ρ‚ΡŒ понятныС ΠΈΠΌΠ΅Π½Π°. БСйчас ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΡƒΡŽ Ρ†Π΅Π»ΡŒ. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Targets ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ Target Settings (ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ†Π΅ΠΏΠΈ). Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Targetβ†’Target Settings ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΠ»Π΅ Target Name (Имя Ρ†Π΅Π»ΠΈ) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ hellobeatles Debug.

Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Targets ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ Target Settings, ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Targetβ†’PPC Mac OS X Target, Π² качСствС Project Π’ΡƒΡ€Π΅ (Π’ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Executable (Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»), Π° Π² ΠΏΠΎΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ File Name (Имя Ρ„Π°ΠΉΠ»Π°) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ hellobeatles. Π§Ρ‚ΠΎΠ±Ρ‹ Π² качСствС мСста для создания Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° hellobeatles ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ binaries, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Targetβ†’Target Settings ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Choose….

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Files ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ MSL, ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠ² ΠΈΡ… Π² Trash (ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ). Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ исходный Ρ„Π°ΠΉΠ» hellobeatles.cpp ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 13, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Add Files… (Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ файлы…) ΠΈΠ· мСню Project. Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Add Files…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ MSL_All_Mach-O_D.dylib ΠΈ MSL_Shared AppAndDylib_Runtime_D.lib, находящиСся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Metrowerks CodeWarrior/MacOS X Support/Libraries/Runtime/Runtime PPC/Runtime_MacOSX/Libs. Если Π±Ρ‹ Π²Ρ‹ вмСсто ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ настраивали ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ, Ρ‚ΠΎ вмСсто этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MSL_All_Mach-О.dylib ΠΈ MSL_Shared_AppAndDylib_Runtime.lib. Π’ ΠΎΠΊΠ½Π΅ Target Settings ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Targetβ†’Access Paths (ΠŸΡƒΡ‚ΠΈ доступа) ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ, которая называСтся User Paths (ΠŸΡƒΡ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ). Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, которая содСрТит Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ johnpaul ΠΈ georgeringo, β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ Β«Π΄Π΅Π΄ΡƒΡˆΠΊΠΎΠΉΒ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ исходным Ρ„Π°ΠΉΠ»Π°ΠΌ ringo.hpp, ringo.hpp ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ элСмСнт управлСния с ΠΈΠΌΠ΅Π½Π΅ΠΌ Add…. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ include Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ hellobeatles.hpp.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Add Files… ΠΈΠ· мСню Project, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ hellobeatles.mcp Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² libjohnpaul.mcp ΠΈ libgeorgeringo.mcp. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Targets ΠΈ раскройтС ΡƒΠ·Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ hellobeatles Debug, libjohnpaul.mcp ΠΈ libgeorgeringo.mcp. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Ρ†Π΅Π»Π΅ΠΉ, располоТСнных рядом с Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ libjohnpaul.mcp ΠΈ libgeorgeringo.mcp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ libjohnpaul Debug ΠΈ libgeorgeringo Debug. На ΠΎΠ±Π΅ΠΈΡ… ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΆΠΈΡ€Π½Ρ‹Π΅ стрСлки. Если трСбуСтся, ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ связи Ρƒ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ края ΠΎΠΊΠ½Π°. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π² этом столбцС β€” Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ†Π΅Π»Π΅ΠΉ со стрСлками. Π’ этом столбцС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π΄Π²Π΅ Ρ‡Π΅Ρ€Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ.