Ответы пользователя по тегу Сборка проектов
  • Существует ли максимально простой и универсальный способ сборки проектов с GitHub в готовый exe?

    В порядке эксперимента, не используя Visual Studio вообще, создал форк проекта soleiledit на GitHub, и при помощи добавленного сценария GitHub Actions смог собрать выпуск v1.0.0 для древней версии проекта, использующей .NET 2.0, собрал под .NET 4.0. И всё это, используя лишь веб-браузер, аккаунт GitHub, ИИ ассистента и скудные знания о разработке на .NET восьмилетней давности.
    Как это работает:
    при создании нового выпуска запускается сценарий на серверах GitHub, который скачивает код с репозитория, собирает код (с MSBuild) на сервере Windows Server 2019 (установлена нужная версия .NET) и затем создаётся выпуск версии, затем упаковывается ZIP и прикрепляется к выпуску.
    6610904be927b869007795.png
    Любой желающий сможет зайти, скачать ZIP и запустить у себя на компьютере, при наличии необходимой установленной версии .NET .
    Было ли это просто? Наверное, нет. Но не было ничего сложного. Надо было поставить серию экспериментов для достижения результата.

    Аналогичным образом можно собрать проекты:
    1. на C++ необходимо проверить какая используется сборочная система. Часто используется Autoconf (присутствует файл configure.ac). В сочетании со сборочной системой CMake (присутствует файл CMakeLists.txt). Вообще, в Readme обычно можно найти инструкции по сборке. А, порой - в разделе Wiki проекта. На примере проекта Tesseract: страница https://tesseract-ocr.github.io/tessdoc/Compiling.html содержит инструкции по самостоятельной сборке или на странице https://tesseract-ocr.github.io/tessdoc/Installati... можно скачать скомпилированный набор файлов.
    2. на Python (нужной версии) обычно выполняется установка зависимостей с pip install -r requirements.txt, затем сама установка с python setup.py build.

    Если пойти дальше, то такие средства, как Chocolatey, которые снимают нагрузку по разрешению задач, связанных с установкой разного ПО и имеют список ПО, которое можно установить одной командой. Пример: https://community.chocolatey.org/packages/tesseract
    Ответ написан
    9 комментариев