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

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

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

Π Π΅Ρ†Π΅ΠΏΡ‚Ρ‹ 1.10, 1.13, 1.18 ΠΈ 1.23.

1.6. Установка Boost.Build

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

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Boost.Build.

РСшСниС

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Boost.Build ΠΏΠΎ адрСсу www.boost.org/boost-build2 ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ эти шаги.

1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° домашнюю страницу Boost β€” www.boost.org ΠΈ прослСдуйтС ΠΏΠΎ ссылкС Download (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ) Π½Π° страницу SourceForge Boost.

2. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈ распакуйтС Π»ΠΈΠ±ΠΎ самый послСдний Ρ€Π΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° boost, Π»ΠΈΠ±ΠΎ самый послСдний Ρ€Π΅Π»ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° boost-build. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Boost, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Boost.Build. РаспакованныС Ρ„Π°ΠΉΠ»Ρ‹ помСститС Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.

3. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈ распакуйтС послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° boost-jam для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ собранный исполняСмый Ρ„Π°ΠΉΠ» bjam. Если ΠΏΠ°ΠΊΠ΅Ρ‚ boost-jam для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ нСдоступСн, Ρ‚ΠΎ для сборки исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ· исходников слСдуйтС инструкциям, ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΌ ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, скачанному Π²Π°ΠΌΠΈ Π½Π° шагС 2.

4. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ bjam Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды PATH.

5. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды BOOST_BUILD_PATH Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ BoostBuild. Если Π²Ρ‹ Π½Π° шагС 1 скачали ΠΏΠ°ΠΊΠ΅Ρ‚ boost, Ρ‚ΠΎ корнСвая дирСктория β€” это поддирСктория tools/build/v2 установки Boost, Π° Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС это дирСктория boost-build.

6. ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ BoostBuild Π½Π° ваш инструмСнтарий ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Ρ„Π°ΠΉΠ» user-config.jam, располоТСнный Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Boost.Build. Π€Π°ΠΉΠ» user-config.jam содСрТит ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

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

НаиболСС слоТной Ρ‡Π°ΡΡ‚ΡŒΡŽ использования Boost.Build являСтся Π΅Π³ΠΎ скачиваниС ΠΈ установка. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Boost ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ установки, Π½ΠΎ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ шагам.

ЦСлью пятого шага являСтся ΠΏΠΎΠΌΠΎΡ‰ΡŒ инструмСнту сборки β€” bjam Π² поискС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ систСмы сборки. Однако этот шаг нСобязатСлСн, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ: просто создайтС Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся boost-build.jam, с СдинствСнной строкой:

boost-build boost-build-root ;

ΠΈ помСститС Π΅Π³ΠΎ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ BoostBuild вмСстС с вашим исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ процСсс установки Π±ΠΎΠ»Π΅Π΅ простым для ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ШСстой шаг, вСроятно, являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТным, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ довольно прост. Если Ρƒ вас установлСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° вСрсия инструмСнтария, ΠΈ ΠΎΠ½Π° установлСна Π² стандартном мСстС, Ρ‚ΠΎ Ρ„Π°ΠΉΠ» user-config.jam ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всСго ΠΎΠ΄Π½Ρƒ строку Π²ΠΈΠ΄Π°:

using <toolset> ;

НапримСр, ΠΏΡ€ΠΈ использовании Visual C++ Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

using msvc ;

А ΠΏΡ€ΠΈ использовании GCC просто Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅:

using gcc ;

Π”Π΅Π»Π° становятся нСсколько Π±ΠΎΠ»Π΅Π΅ слоТными ΠΏΡ€ΠΈ использовании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий инструмСнтария ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ установкС инструмСнтария Π½Π΅ ΠΏΠΎ стандартному ΠΏΡƒΡ‚ΠΈ. Если ваш инструмСнтарий установлСн Π² Π½Π΅ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, скаТитС Boost.Build, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅ΠΌΡƒ Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° using ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π²Ρ‹Π·ΠΎΠ² компилятора инструмСнтария. НапримСр:

using msvc : : "Π‘:/Tools/Compilers/Visual Studio/Vc7/bin/cl" ;

Если Ρƒ вас установлСно нСсколько вСрсий инструмСнтария, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ using нСсколько Ρ€Π°Π· с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ инструмСнтария, пСрСдавая Π΅ΠΌΡƒ Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π° Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ β€” ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ компилятора. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π²Π΅ вСрсии инструмСнтария Intel, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

using intel : 7.1 : "C:/Program Files/Intel/Compiler70/IA32/Bin/icl" ;

using intel : 8.0 : "C./Program Files/Intel/CPP/Compiler80/IA32/Bin/icl" ;

ИмСна, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Boost.Build для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… инструмСнтариСв, описываСмых Π² этой Π³Π»Π°Π²Π΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π» 1.14.


Π’Π°Π±Π». 1.14. ИмСна инструмСнтариСв Boost.Build

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Имя GCC gcc Visual C++ msvc Intel intel Metrowerks cw Comeau como Borland borland Digital Mars dmc

1.7. Π‘Π±ΠΎΡ€ΠΊΠ° простого прилоТСния Β«Hello, WorldΒ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Boost.Build

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

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Β«Hello, WorldΒ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.4, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ BoostBuild.

РСшСниС

Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» ΠΈ всС создаваСмыС ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, создайтС тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Jamroot. Π’ Ρ„Π°ΠΉΠ»Π΅ Jamroot ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π»Π΅Π΅. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ exe, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ исполняСмый Ρ„Π°ΠΉΠ» ΠΈ исходныС Ρ„Π°ΠΉΠ»Ρ‹ .cpp. Π”Π°Π»Π΅Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ install, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ имя Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΅Π³ΠΎ слСдуСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ. НаконСц, запуститС bjam, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» hello ΠΈΠ»ΠΈ hello.exe ΠΈΠ· Ρ„Π°ΠΉΠ»Π° hello.cpp ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 1.4, создайтС Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, содСрТащСй Ρ„Π°ΠΉΠ» hello.cpp, Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Jamroot с содСрТимым, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.8.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1.8. Jamfile для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° hello

# jamfile для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° hello

exe hello : hello.cpp ;

install dist : hello : <location>. ;

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ hello.cpp ΠΈ Jamroot, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

> bjam hello

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° собираСт исполняСмый Ρ„Π°ΠΉΠ» hello ΠΈΠ»ΠΈ hello.exe Π² ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. НаконСц, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

> bjam dist

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ исполняСмый Ρ„Π°ΠΉΠ» Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² свойствС location, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² нашСм случаС Ρ€Π°Π²Π½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сдачи этой ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Boost.Build готовят ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· BoostBuild вСрсии 2. К ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ это Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, вСрсия 2 ΡƒΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π°. Если Π½Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, описанноС Π² этой Π³Π»Π°Π²Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² bjam ΠΎΠΏΡ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки --v2. НапримСр, вмСсто Π²Π²ΠΎΠ΄Π° bjam hello Π²Π²Π΅Π΄ΠΈΡ‚Π΅ bjam --v2 hello.

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

Π€Π°ΠΉΠ» Jamroot являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ„Π°ΠΉΠ»Π° Jamfile. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ для управлСния нСбольшим Π½Π°Π±ΠΎΡ€ΠΎΠΌ исходных Ρ„Π°ΠΉΠ»ΠΎΠ² C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Jam-Ρ„Π°ΠΉΠ», большой Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Jam-Ρ„Π°ΠΉΠ»ΠΎΠ² с иСрархичСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Jam-Ρ„Π°ΠΉΠ» находится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ соотвСтствуСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Jam-Ρ„Π°ΠΉΠ»ΠΎΠ² просто называСтся Jamfile, Π½ΠΎ самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Jam-Ρ„Π°ΠΉΠ» β€” Jam-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ располоТСн Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎ всСм Π΄Ρ€ΡƒΠ³ΠΈΠΌ дирСкториям, содСрТащим ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Jam-Ρ„Π°ΠΉΠ»Ρ‹, β€” называСтся Jamroot. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, опрСдСляСмый этим Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ Jam- Ρ„Π°ΠΉΠ»ΠΎΠΌ, называСтся ΠΊΠΎΡ€Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ корня ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ опрСдСляСмый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, располоТСнным Π² блиТайшСй ΠΊ Π½Π΅ΠΌΡƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, содСрТащСй Jam-Ρ„Π°ΠΉΠ».

Π­Ρ‚Π° иСрархичСская организация ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большими прСимущСствами: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΈ всСм Π΅Π³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” это Π½Π°Π±ΠΎΡ€ Ρ†Π΅Π»Π΅ΠΉ. Π¦Π΅Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ», Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ exe ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ install. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ†Π΅Π»Π΅ΠΉ соотвСтствуСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ, Π½Π°Π±ΠΎΡ€Ρƒ связанных Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ отладочная ΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ (Ρ€Π΅Π»ΠΈΠ·) сборки прилоТСния.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ exe ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объявлСния исполняСмой Ρ†Π΅Π»ΠΈ. Π’Ρ‹Π·ΠΎΠ² этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.9.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1.9. Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ»Π° exe

exe имя-Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ-Ρ„Π°ΠΉΠ»Π°

 : исходныС-Ρ„Π°ΠΉΠ»Ρ‹

 : трСбования

 : сборка-ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

 : трСбования-ΠΊ-использованию

 ;

Π—Π΄Π΅ΡΡŒ имя-Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ-Ρ„Π°ΠΉΠ»Π° опрСдСляСт имя исполняСмого Ρ„Π°ΠΉΠ»Π°, исходныС-Ρ„Π°ΠΉΠ»Ρ‹ опрСдСляСт список исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, трСбования опрСдСляСт свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π»ΠΈ нСзависимо ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свойств, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ унаслСдованных ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, сборка-ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ опрСдСляСт свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ Ρ†Π΅Π»ΠΈ, Ссли Π½Π΅ явно Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства, ΠΈ трСбования-ΠΊ-использованию опрСдСляСт свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ цСлям, зависящим ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ.