Используя Add Files… из меню Project, добавьте в проект hellobeatles.mcp файлы проектов libjohnpaul.mcp и libgeorgeringo.mcp. Перейдите на вкладку Targets и раскройте узлы, которые называются hellobeatles Debug, libjohnpaul.mcp и libgeorgeringo.mcp. Щелкните на пиктограммах целей, расположенных рядом с дочерними узлами libjohnpaul.mcp и libgeorgeringo.mcp, которые называются libjohnpaul Debug и libgeorgeringo Debug. На обеих пиктограммах должны появиться жирные стрелки. Если требуется, увеличьте окно проекта так, чтобы увидеть небольшую пиктограмму связи у правого края окна. Дважды щелкните в этом столбце — напротив пиктограмм целей со стрелками. В этом столбце должны появиться две черные точки.
Соберите проект, выбрав в меню Project пункт Make. Компоновщик может отобразить несколько предупреждений о символах, определенных несколько раз, но ими можно пренебречь. Вы можете подавить их, перейдя к Linker→Mac OS X Linker и установив опцию Suppress Warning Messages (Подавлять предупреждающие сообщения).
Проверьте, что в директории binaries были созданы файлы с именами libjohnpaul.a, libgeorgeringo.dylib и hellobeatles. Теперь запустите hellobeatles, поместив в директорию binaries копию библиотек MSL_All_Mach-O_D.dylib, перейдя в директорию binaries и введя в командной строке ./hellobeatles.
C++Builder
В меню File выберите New и затем выберите Console Wizard. В диалоге Console Wizard выберите C++, Multi Threaded (Многопоточное) и Console Application (Консольное приложение). Теперь у вас должен быть проект, содержащий один исходный файл Unit1.cpp. Удалите Unit1.cpp из проекта, сделав для этого щелчок правой кнопкой мыши и выбрав Remove From Project (Удалить из проекта). В меню File выберите Save Project As, выберите директорию для сохранения настроечных файлов проекта и в качестве имени проекта введите hello_beatles. Я добавил в имя проекта знак подчеркивания, потому что C++Builder не позволяет указывать для проекта то же имя, что и для исходного файла.
Затем, чтобы отобразить диалог Project Options (Параметры проекта), в меню Project выберите Options…. Далее перейдите в Directories and Conditionals (Директории и условия) и используйте элемент управления рядом с надписью Final output (Окончательный вывод), чтобы указать, где должен создаваться выходной файл hello_beatles.exe. По умолчанию этот файл будет создан в той же директории, где находится hello_beatles.bpr. Скажите C++Builder, что его требуется создать в директории binaries. Если хотите, то также можете использовать элемент управления рядом с Intermediate output (Промежуточный вывод) и указать место создания объектных файлов. По умолчанию они создаются в той же директории, где находятся исходные файлы.
После этого, чтобы добавить в проект исходный файл hellobeatles.cpp из примера 1.3, используйте Add to Project (Добавить в проект) из меню Project.
Затем из Project Options перейдите к Directories and Conditionals и, используя элемент управления рядом с Include path (Путь заголовочных файлов), выберите директорию, которая содержит директории johnpaul и georgeringo, — директорию, являющуюся «дедушкой» по отношению к исходным файлам john.hpp, ringo.hpp и другим. Это позволит корректно разрешить директивы include в заголовочном файле hellobeatles.hpp.
Далее сделайте щелчок правой кнопкой мыши на ProjectGroup1, выберите Save Project Group As, выберите директорию, содержащую файл hello_beatles.bpr, и введите имя группы проектов hello_beatles.bpg.
После этого в группу проектов добавьте проекты libjohnpaul.bpr и libgeorgeringo.bpr, сделав щелчок правой кнопкой мыши на надписи hello_beatles и выбрав Add Existing Project. Соберите эти два проекта, как описано в рецептах 1.11 и 1.12, если этого еще не сделано, а затем с помощью Add to Project из меню Project добавьте выходные файлы libjohnpaul.lib и libgeorgeringo.lib в проект hello_beatles. Используя клавишу со стрелкой при нажатой клавише Ctrl, переместите в Project Manager проекты libjohnpaul и libgeorgeringo выше проекта hello_beatles так, чтобы гарантировать, что они будут собираться первыми.
Наконец соберите решение, выбрав в меню Build пункт Make All Projects. Проверьте, что в директории binaries был создан файл с именем hellobeatles.exe. Чтобы запустить приложение, выберите Run в меню Run.
Dev-C++
В меню File выберите New→Project. В диалоге New project (Новый проект) выберите Console Application и C++ Project, а в качестве имени проекта введите hellobeatles. После нажатия на OK укажите место для сохранения настроечных файлов проекта.
Затем от Project Options перейдите к Build Options и проверьте, что в качестве имени выходного файла проекта указано hellobeatles.exe. В поле Executable output directory (Директория для записи исполняемого файла) введите путь к директории binaries. Если хотите, то в поле Object file output directory (Директория для записи объектных файлов) можно указать директорию для создания объектных файлов.
Далее удалите из проекта все существующие исходные файлы, сделав щелчок правой кнопкой мыши и выбрав Remove file (Удалить файл). Для сохранения настроечного файла проекта hellobeatles.dev используйте Save Project as из меню File. Наконец, чтобы добавить в проект исходный файл hellobeatles.cpp из примера 1.3, используйте Add to project (Добавить в проект) из меню Project
Затем, чтобы отобразить диалог Project Options, в меню Project выберите Project Options. Затем перейдите к Directories→Include Directories, выберите директорию, которая содержит директории johnpaul и georgeringo — директорию, являющуюся «дедушкой» по отношению к исходным файлам ringo.hpp, ringo.hpp и другим, — и нажмите на Add. Это позволит корректно разрешить директивы include в заголовочном файле hellobeatles.hpp.
Наконец от Project Options перейдите к Directories→Libraries Directories и добавьте директорию, которая содержит выходные файлы libjohnpaul.a и libgeorgeringo.c проектов libjohnpaul и libgeorgeringo. Затем перейдите к Parameters→Linker и введите опции -ljohnpaul и -lgeorgeringo.
Теперь с помощью Compile из меню Execute соберите все три проекта по отдельности, проверив, что hellobeatles собирается последним. Запустите hellobeatles.exe, выбрав в меню Execute пункт Run.
Смотри также
Рецепты 1.5, 1.10 и 1.18.
1.14. Получение GNU make
Проблема
Вы хотите получить и установить утилиту GNU make, используемую для сборки библиотек и исполняемых файлов из исходного кода.
Решение
Решение зависит от вашей операционной системы.
Windows
Хотя в некоторых источниках можно получить готовые бинарные файлы GNU make, чтобы использовать возможности GNU make по максимуму, она должна быть установлена как часть Unix-подобной среды. Я рекомендую использовать либо Cygwin, либо MSYS, являющуюся частью проекта MinGW.
Cygwin и MinGW описаны в рецепте 1.1.
Если вы установили Cygwin, как описано в рецепте 1.1, то GNU make у вас уже есть. Чтобы запустить ее из оболочки Cygwin, просто введите команду make.
Чтобы установить MSYS, начните с установки MinGW, как описано в рецепте 1.1. Будущие версии инсталлятора MinGW могут предоставить опцию для автоматической установки MSYS. Но пока выполните следующие дополнительные действия.
Во-первых, на домашней странице MinGW http://www.mingw.org перейдите на страницу закачки MinGW и скачайте самую последнюю стабильную версию программы установки MSYS. Имя этой программы установки должно иметь вид MSYS-<версия>.exe.
Далее запустите программу установки. После этого будет выдан запрос на ввод пути, где находится установка MinGW, и пути, куда следует устанавливать MSYS. Когда программа установки завершит работу, директория установки MSYS должна содержать файл msys.bat. Запуск этого скрипта приведет к отображению оболочки MSYS — порта оболочки bash, из которой можно запускать GNU make и другие программы MinGW, такие как ar, ranlib и dlltool.
Для использования MSYS не требуется, чтобы поддиректории bin установок MinGW или MSYS были записаны в переменной среды PATH.
Unix
Вначале, введя в командной строке make -v, проверьте, установлена ли в вашей системе утилита GNU make. Если GNU make установлена, она должна вывести сообщение, подобное следующему:
GNU Make 3.90
Copyright (С) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
Если в системе имеется не-GNU-версия make, то, возможно, GNU-версия установлена под именем gmake. Это можно проверить, введя в командной строке gmake -v.
При использовании Mac OS X простейшим способом получения GNU make является скачивание с web-сайта Apple среды разработки Xcode и следование простым инструкциям ее установки. В настоящий момент Xcode доступен по адресу developer.apple.com/tools.