Как собрать C++ Ethereum без GUI/Qt?

Я хочу иметь чистую установку клиентов C++ turbo ethereum и инструментов командной строки без каких-либо зависимостей графического интерфейса (Qt и т. д.) - Как собрать C++ Ethereum без графического интерфейса/Qt?

Я вижу, что AlethZero и AlethOne их подключают, но как я могу указать процессу сборки исключить все приложения с графическим интерфейсом?

Существуют ли какие-либо способы настройки cmakeтолько для создания инструментов CLI или каких-либо конкретных makeцелей, о которых мне следует знать?

Ответы (3)

в папке сборки выcmake .. -DGUI=0

Итак, есть две фазы. CMake создает make-файлы (или решения Visual Studio, или проекты xcode), а затем вы создаете их с помощью make, MSBuild и т. д.

На этапе CMake вы можете передать параметры, чтобы исключить определенные приложения из процесса сборки. Вот основные свойства: TOOL, TEST, GUI, EVMJIT, которые по умолчанию включены, но их можно отключить. Например, исключение EVMJIT означает, что вам не нужно устанавливать LLVM (но вы получите только интерпретатор, а не JIT). Исключение GUI означает, что вы не получите AlethZero или Mix, но также означает, что вам не нужно устанавливать Qt5.

Затем, когда дело доходит до фазы создания, выполнение безоговорочного «создания» приведет к сборке всего. Вы также можете «сделать установку». Вы также можете создавать только определенные приложения, т.е. «сделать эт», «сделать этмайнер», «сделать микс».

Вот большая схема всех модулей:

http://doublethinkco.github.io/cpp-ethereum-cross/images/dependency_graph.svg

И целевая диаграмма того, как это будет выглядеть после того, как мы закончим незавершенную реорганизацию репозитория ( https://github.com/ethereum/webthree-umbrella/issues/251 ), которая проходит пробный запуск на https://github.com. /bobsummerwill/cpp-ethereum/tree/merge_repos прямо сейчас):

http://doublethinkco.github.io/cpp-ethereum-cross/images/target_dependency_graph.svg

Зависит от того, как вы его устанавливаете. В OS X вы бы запустили

brew install cpp-ethereum

потому что по умолчанию он идет без них.

Теперь, если вы хотите сделать это в Ubuntu, вы, вероятно, сделаете что-то вроде этого:

git clone --recursive https://github.com/ethereum/webthree-umbrella.git
cd webtree-umbrella
./webthree-helpers/scripts/ethupdate.sh --no-push --simple-pull --project webthree
./webthree-helpers/scripts/ethbuild.sh --no-git --project webthree

настоятельно рекомендуем изменить флаг --core, иначе вы будете ждать вечно.

Интересно, не знал о вспомогательных сценариях. смесь и alethzero brew installне тянет?
Вам нужно запустить его с флагами --with-gui, чтобы втянуть их.