2015-01-22 2 views
2

Как добавить цель компиляции Emscripten для моей программы с помощью biicode. Я хотел бы сделать «bii cpp: configure» или сборку с параметрами, которые будут строить исходный код C/C++ с помощью загруженного Emscripten SDK (emsdk) или установленного Emscripten (из диспетчера пакетов).Как использовать инструментальную цепочку Emscripten с бикодом?

ответ

1

Итак, вы хотите # включить заголовок emscripten в свой код и получить библиотеку? Я бы предложил написать блок, который действует как прокси-сервер и может загрузить и установить готовые пакеты, поскольку они выглядят неплохо. Это можно сделать несколькими способами:

  1. Напишите блок с крючком, который является скриптом в python. У вас есть, например, OpenCV: http://www.biicode.com/diego/opencv. Это установит его в предопределенное местоположение biicode, доступ к которому можно получить в CMakeLists.txt через переменную cmake $ {BIICODE_ENV_DIR}. Вы можете использовать эту переменную для определения и связывания библиотек. Вы должны добавить заголовки, которые хотите включить в свой блок, так что вы можете фактически # включать вещи и получать бийкоды. Не забудьте добавить крючок в раздел biicode.conf [hooks]

  2. Напишите блок с сценарием cmake. В CMake также можно извлекать и устанавливать файлы. В этом случае вы можете просто написать и ВКЛЮЧАТЬ (youruser/yourblock/yourcmakescript) в CMakeLists.txt блока, который хочет «потреблять» и использовать emscripten. Этот файл будет обрабатываться точно так же, как файлы C/C++, они будут отображаться первоначально как нерешенные в «bii deps» и могут быть разрешены с помощью «bii find» или добавления блока в раздел [требования].

Первоначально я рекомендую это, так как библиотека кажется сложной для сборки, она не имеет стандартного CMakeLists.txt, но настраивается.

EDIT: Теперь я вижу с вашими комментариями, что это не то, что вы на самом деле хотите, но для использования специальной компиляции (перекрестная компиляция в js) toolchain. Это можно сделать с помощью пользовательских инструментальных цепей: http://docs.biicode.com/c++/building.html#using-a-custom-tool-chain Это может потребовать некоторого мастерства как CMake, так и инструментальной цепочки emscripten. Интеграция этих инструментальных средств сейчас немного сложна, она обновляется и будет выпущена через несколько недель. Обратите внимание, что остальная часть ответа по-прежнему действительна, вы можете легко написать блок с помощью крючка, которому удается установить инструмент emscripten из двоичных файлов.

+0

Спасибо за ваш ответ @drodri. Мой вопрос немного неясен. У меня есть небольшая программа «hello world», которую я хочу создать с помощью emscripten. Программа не # включает заголовок emscripten. Я могу построить его довольно легко без biicode (используя emsdk), но мне сложно автоматизировать сборку с помощью biicode. – W1M0R

+0

Я вижу. Можете ли вы построить его без бикода, но с сценарием CMake? Можете ли вы поделиться таким сценарием? Мы только сейчас реорганизуем инструментальные цепочки (т. Е. Сценарии CMake, которые позволяют пользователю настраивать сборку), открывая их, чтобы любой пользователь мог определить свою собственную привязку для своих целей. Второй этап будет заключаться в том, что эти пользовательские связки могут также использоваться совместно с бикодом. Ваш вклад в то, что вы пытаетесь сделать, может быть очень полезным для настройки этой новой функции. – drodri

+0

Я не создаю его с помощью CMake, но после некоторого чтения в Интернете это кажется возможным. Поиск Google/GitHub для Emscripten.cmake показывает несколько подходов. Как я создаю свою программу с помощью emscripten, используется команда терминала em ++, предоставляемая emsdk. – W1M0R

Смежные вопросы