Я следую инструкциям C ++ на Windows на https://github.com/Microsoft/bond/ но не ясно, как включить и использовать Bond из собственного проекта C ++ в Visual Studio. Я прочитал и то, что Bond должен быть скомпилирован как часть моего проекта, и что я должен использовать .lib-файл Bond для ускорения сборок. Каковы правильные шаги после того, как я скачаю все зависимости и получу CMake для сборки Bond, чтобы я мог получить пример кода из документации, работающей в моем проекте? Я хочу запускать и отлаживать код, который использует Bond из Visual Studio. Спасибо
Этот ответ теперь включен в документацию Bond C ++: Интеграция Bond в вашу сборку. Соответствующие выдержки:
Чтобы использовать Bond, вам нужно как-то интегрировать его в свою сборку. Если
вы используете один из этих менеджеров пакетов C ++, Bond доступен как
пакет, который вы можете потреблять:
- Vcpkg«s
bond
пакетНиже приведены инструкции, не зависящие от системы сборки, для использования C ++ Bond.
Эти инструкции предполагают, что вы использовали
Bond на основе CMake в
компилировать и устанавливать (make install
/cmake --build . --target INSTALL
)
Связывайтесь с вашей средой разработки где-нибудь. Переменная CMake
CMAKE_INSTALL_PREFIX
может использоваться для контроля места установки
помещает выходные файлы.(Файлы Bond CMake в настоящее время не могут быть использованы другим проектом CMake
с помощьюadd_directory
,
Взносы приветствуются
чтобы помочь улучшить эту ситуацию.)После того, как вы собрали и установили Bond, вы можете использовать любую нужную вам систему сборки:
- научить его, как автоматически запускать генерацию кода для файлов .bond;
- настройка вашего компилятора C ++
#include
поиск пути, чтобы указать на Boost
и Бонд; а также- настройка пути к библиотеке вашего компоновщика, чтобы иметь Boost и Bond
библиотеки на своем пути поиска.Шаг № 1 очень зависит от системы. Вклад этих систем сборки
правила для хранилища облигаций будут с радостью приняты.При создании библиотеки / исполняемого файла, который будет использовать Bond, вам понадобится
установить ваш компилятор#include
путь поиска, чтобы указать на:
- где установлена ваша версия Boost
- где установлена ваша версия Bond
Если вы используете какие-либо типы из bond.bond (например, с помощью
import
заявление в вашем файле .bond или с помощью C ++RuntimeSchema
API), вам также нужно связать библиотеку / исполняемый файл с Bond
(Имена могут различаться в зависимости от платформы / набора инструментов.):
libbond.a
/bond.lib
а также- по выбору,
libbond_apply.a
/bond_apply.lib
, если вы планируете#include <bond/core/bond_apply.h>
,
Вам нужно будет адаптировать их для выбранной вами системы сборки.
Других решений пока нет …