Как компилировать файлы из github

Обновлено: 05.07.2024

Прошу помочь скомпилировать проект с GitHub, я не разбираюсь в Visual Studio, но очень нужна эта программа.
Пытался скомпилировать сам, но постоянно сыпятся ошибки.
Буду очень благодарен, если кто поможет.

(нужна именно эта ветка, а не оригинал)

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Как выложить проект в Github?
народ кто шарит как выложить проект со студии в github? и что такое гитинг бинарников и obj файлы?

alexdevilrock, скачать уже откомпилированную версию нельзя? Пытался скомпилировать сам, но постоянно сыпятся ошибки.

Решение

alexdevilrock, не сообразил что ссылка ведет на другой репозиторий. Лови (ссылка удалена) откомпилированную версию. Работает или нет она я не проверял.

О, очередной начинающий хакер

Много таких повидал, которые пытаются получить доступ к чужому аккаунту стим используя десктопный аутентефикатор. Ооой а сколько мне друзей дотеров и ксеров пишут мол смотри какая програмулина, как ее использовать, как ломать аккаунты итд, тыжпрограммист"
Много таких повидал, которые пытаются получить доступ к чужому аккаунту стим используя десктопный аутентефикатор. Ооой а сколько мне друзей дотеров и ксеров пишут мол смотри какая програмулина, как ее использовать, как ломать аккаунты итд, тыжпрограммист" Вообще хз с чего ты это взял, как писали выше можно скачать уже готовую программу.
А этот отличается от оригинала только тем, что у него есть функция импорта с другого аутентификатора.
Просто хочу перейти с одного на другой, так как с предыдущим есть некоторые проблемы.
И я немного не понимаю смысла, для чего тебе пишут эти "хакеры", типо в гугле их чтоли забанили? И как с этим связан я, если использую эту программу, то хочу кого то взломать чтоли? Там нет такой функции. alexdevilrock, некоторые программы можно использовать как во благо так и во вред. Данная программа видимо одна из таких. Отсюда и комментарии lvlkoo. alexdevilrock, некоторые программы можно использовать как во благо так и во вред. Данная программа видимо одна из таких. Отсюда и комментарии lvlkoo.

С этим я согласен, но так можно сказать чуть ли не про любую программу.
Ведь не с помощью нее идет взлом, нужно получить доступ к чужому пк и с него украсть файлы этой программы, для того чтобы получить доступ к аккаунту. А так можно сказать и про куки с браузера и про много чего еще.
Кстати спасибо тебе огромное, сейчас буду тестить.

Добавлено через 2 часа 33 минуты
Эх жаль не пашет, скорее всего из за того что автор винаута изменил экспорт.
Попробовал запустить старую версию и она ругается на новые файлы.
Все равно спасибо за помощь, можете закрыть тему.

Объединить исходные файлы в проект и скомпилировать
помогите пожалуйста, с реализацией, не получается объединить, подскажите как и что мне делать чтобы.

Нужно скомпилировать проект под Net 2.0
У меня нету 2.0 и не ставится. Кто нить прокомпильте мне плиз под Net 2.0

Можно ли скомпилировать проект так, чтобы он вместе с собой открывал файл
Можно ли скомпилировать проект так, чтобы он вместе с собой открывал файл. Файл и проект - одно.

Скомпилировать проект с OleDB, чтобы не требовался установленный пакет OleDB
Добрый день! Возможно ли скомпилировать проект, который работает с базами данных с помощью OleDB.

Я загрузил мертвую простую программу для Windows из GitHub ( это , если это уместно). Я загрузил его в виде файла ZIP, но не могу понять, как его установить. Это написано на C, я думаю. Нужен ли мне компилятор? (Visual Studio?) Есть что-то простое, что мне не хватает?

Извините, это, очевидно, серьезная проблема с нубами. Как? Там нет исполняемого файла. Вам, вероятно, понадобится Windows SDK и связанные заголовки C для компиляции программы. Обычно упоминаются зависимости, а инструкции по компиляции включаются в файл Readme. В этом случае ни один из них не включен, поэтому вы должны попросить владельца репо / автора проекта получить соответствующую информацию. Вам нужен компилятор. Я хотел бы обратиться к разработчику и спросить, как его построить. Обычно, например, программное обеспечение для Linux, поставляемое в качестве источника, содержит инструкции по сборке, но я не вижу его на Github. Вы не загрузили реальную программу, вы загрузили исходный код программы и, да, вам нужно сначала скомпилировать ее. Судя по make-файлу, вам нужно собрать все, что есть в MINGW.

Github в основном используется программистами для совместной работы над проектами. Параметр «Загрузить ZIP» загружает копию исходного кода на ваш компьютер. Это , как правило , 1 не содержит копии скомпилированных используемых исполняемых файлов / двоичных файлов (например, EXE - файлы)

Releases - это функция Github для доставки программного обеспечения конечным пользователям (которые обычно не заинтересованы в реальном кодировании). Релизы сопровождаются примечаниями к выпуску и ссылками для загрузки программного обеспечения или исходного кода. Это первое место, где вы должны проверить двоичные файлы .

В вашем случае на странице релизов предлагаются файлы для загрузки и настройки.

Однако многие проекты не будут иметь никаких выпусков (особенно не для Windows), и в этом случае вы можете выполнить одно из следующих действий:

Поиск двоичных файлов в других местах в Интернете. Обычно поисковые системы, такие как DuckDuckGo (или Google , если вы предпочитаете), легко найдут то, что вы хотите. Попробуйте найти <application name> for Windows или <application name> exe .

Скомпилируйте это самостоятельно. Вы должны иметь хотя бы некоторые базовые знания языка программирования, чтобы иметь возможность сделать это. Здесь снова, поисковые системы могут быть чрезвычайно полезными. Попробуйте найти compile <application name> on Windows или MinGW compile <application name> .

Здесь я рассмотрю основы компиляции утилит для Widnows:

Выполните следующие команды в cmd или powershell :

1 Примечание. Иногда bin среди загруженных файлов может быть папка , которая должна содержать исполняемые файлы / исполняемые файлы

Также смотрите Cygwin и GOW, если вы хотите использовать утилиты командной строки GNU / Linux в Windows. Я делаю несколько последних версий некоторых полезных исполняемых файлов, доступных для скачивания здесь .

Спасибо, это отличный ответ, и я изменил его, чтобы пометить как окончательный. (Ранее я редактировал свой вопрос, чтобы было яснее, что это то, что я искал, но по какой-то причине BoundaryImposition отредактировал его.) Я не думаю, что это удовлетворяет просьбу Айбоба о вознаграждении, но это между вами и ней / ним. @JoshFriedlander Рад быть полезным! Я добавлю больше к ответу позже . Да, я болтал с JourneymanGeek (Aibobot), он собирается ждать несколько дней, пока новые ответы не появятся. Этот проект может не иметь никаких, но обратите внимание, что большинство проектов, вероятно, будут иметь зависимости , а это значит, что если вы идете по пути компиляции, вам может понадобиться отследить библиотеки, от которых зависит программное обеспечение, загрузить их и установить их ( или скомпилировать их тоже). Обычно это не так просто, как просто запустить make-файл; некоторые из них могут даже иметь другие сценарии сборки, такие как cmake, скрипт настройки и т. д. Действительно ли процесс настолько прост в большинстве случаев? Какая часть утилит github требует существенно больших знаний для их компиляции, чем то, что Вы описали здесь?

Вы оглядываетесь вокруг и находите установщик на странице релиза . Конечно, вы можете скомпилировать исходный код, но я не думаю, что вы этого хотите.

Согласовано. Если вам нужно спросить, вы не хотите компилировать из исходного кода. Если вам нужно спросить, вы, вероятно, не должны устанавливать программное обеспечение, которое доступно только в исходной форме . Я склонен согласиться с @jpaugh. Хотя сборку из исходного кода очень возможно, а иногда и необходимо, это не то, что вы можете просто пойти и спросить «как построить программу на C» в общем виде. Просто слишком много различий. Некоторые удачные программы так же просто, как «скомпилировать эти файлы». Другим нужны make-файлы. Некоторым нужны зависимости, которые будут загружены первыми. Процесс настройки для сборки может быть сложным и не обязательно дружественным к программисту. Прежде всего, однако, вы хотите найти файл в проекте, который объясняет, как построить, потому что особенности зависят от проекта. @jpaugh - Я бы сказал, что у вас гораздо больше шансов установить вредоносное ПО, загрузив исполняемый файл - вредоносное ПО редко бывает открытым. Предполагая, что вы действительно можете читать язык. Я частично компилирую вещи на Linux, и я не могу читать / не читать ни одного источника. Даже если бы я мог, я не собираюсь пересматривать каждый.

Файлы .c и .h имеют исходный код на языке C.

Вам нужно будет установить компилятор C, такой как Visual Studio, tcc или что-то подобное, загрузить проект и затем скомпилировать его для запуска.

В противном случае у проекта есть страница релиза ( здесь ), которая даст вам доступ к предварительно скомпилированной версии, чтобы сэкономить ваше время и усилия.

Если он должен был скомпилировать его, то это обычно объясняется в файле readme, который вы даже не упоминаете, что он должен искать. Он предназначен для перехода на страницу релиза, он не просто «отказывает (установка компилятора), он должен перейти на страницу релиза» Конкретный проект обычно настраивается для использования с определенным набором инструментов компиляции (называемым «цепочкой инструментов»), который обычно упоминается в файле readme (в UNIX и кроссплатформенных проектах он обычно называется BUILD или INSTALL) , В менее чем звездно поддерживаемых проектах или проектах для сред с несколькими известными наборами инструментов пользователь должен угадывать по формату и / или содержимому файлов проекта.

Этот ответ будет касаться общего вопроса о создании приложения Windows только для исходного кода (на языке C). Если вам повезло, как OP, вы можете найти предварительно скомпилированные двоичные файлы.

Первое, о чем следует знать, это то, что нет единого способа создать приложение из исходного кода. Вариантов примерно столько же, сколько разных проектов. Тем не менее, вот несколько общих шагов:

Если вам повезет, проект предоставит инструкции по сборке, обычно внутри README файла. Иногда может также существовать INSTALL файл или другая доступная документация. Если таковые имеются, следуйте инструкциям. Это ваша лучшая ставка.

Как уже говорили другие, к сожалению, очень сложно восстановить необходимые этапы сборки без инструкций. Тем не менее, мы можем, по крайней мере, сделать попытку изо всех сил здесь, которая будет работать для большинства простых проектов.

В отсутствие инструкций следующий порт захода - проверить, какой инструмент сборки необходим.

Если вы найдете файл с расширением .sln или .vcxproj , это, вероятно, проект MSBuild / Visual Studio. Загрузите копию Visual Studio Community или Express (для C ++), откройте там этот файл проекта и нажмите кнопку воспроизведения на панели инструментов (или воспользуйтесь меню сборки).

Если вы найдете Makefile , это, вероятно, потребует make . Но здесь все становится еще сложнее, поскольку используется так много независимых и несовместимых систем make .

Поскольку он нацелен на Windows, он, вероятно, будет использовать MinGW . Загрузите его копию, запустите MSYS из меню «Пуск», перейдите ( cd ) в каталог, в котором находится ваш проект, и запустите make .

В редких случаях, когда вместо этого используется Cygwin (к сожалению, нет простого способа узнать, но если MinGW создает ошибки с ошибкой, связанной с «posix», это достойная ставка), вам придется вместо этого установить Cygwin . К сожалению, это не создает собственные двоичные файлы Windows - вам придется каждый раз запускать программу через Cygwin.

«Инструмент сборки» может представлять собой пользовательский сценарий по имени build.bat или аналогичный. В этом случае вам придется либо открыть его и посмотреть, что внутри, либо попробовать запустить его и посмотреть, в чем заключаются ошибки. Если вы откроете его и увидите упоминания GCC , вернитесь к 2.2.1. Шаг MinGW, но запустите пользовательский скрипт вместо make .

Возможно, что нет никакого инструмента для сборки вообще. Если все, с чем вы сталкиваетесь, - это отдельный файл .c или .cpp файл, то, вероятно, достаточно просто, чтобы вы могли выполнить прямую компиляцию. Это, опять же, почти всегда MinGW , поэтому загрузите его, запустите оболочку MSYS, перейдите в каталог и вызовите либо, gcc либо по g++ мере необходимости, например gcc -o program.exe program.c

Инструменты сборки

Инструмент для сборки позволяет строить проект с очень мало команд. Для большинства проектов с более чем одним исходным файлом где-то будет задействован инструмент сборки. Существует несколько инструментов сборки, но наиболее распространенными являются:

make , используется повсеместно в Linux и все чаще встречается в Windows. Использование проектов make обычно можно определить по наличию Makefile .

MSBuild специфичен для Windows и обычно рассматривается в сочетании с Visual Studio. Обычно они сопровождаются файлом *.sln или *.vcxproj файлом.

компилированные инструменты

Набор инструментов является компилятор и вспомогательные инструменты. Как и у инструментов сборки, их несколько, и они обычно используются с одним из инструментов сборки.

MSVC - это набор инструментов Microsoft. Это наиболее распространенный набор инструментов для разработки Windows. Это обычно используется с системой MSBuild, а сборки обычно создаются с помощью Visual Studio. Тем не менее, современные проекты MSVC можно использовать Makefile тоже.

GCC ( MinGW ) - это порт GCC для Windows. Обычно используется с make . Если проект изначально ориентирован на Windows и имеет Makefile , вероятно, для MinGW-GCC.

GCC ( Cygwin ) создает POSIX-совместимую среду. Это позволяет напрямую компилировать большинство программ, написанных для Linux или Unix, и работать напрямую под Windows. Совсем недавно в Windows 10, Bash на Ubuntu на Windows является альтернативой. GCC обычно используется в сочетании с make .

Каркасы и библиотеки

Библиотеки - это повторно используемые наборы кода, написанные другими людьми, от которых зависят многие программы, чтобы не изобретать велосипед. Вы должны иметь эти зависимости, доступные для построения проекта. Если вам повезет, они будут включены в вашу первоначальную загрузку, но это не всегда так.

Фреймворки - это фактически коллекция библиотек. Многие проекты используют один фреймворк, который вам также понадобится. Они также часто имеют собственную систему сборки, но перечислить их все было бы невозможно.

Самое сложное - это работа с дополнительными фреймворками и библиотечными зависимостями. Если, скажем, проект использует Qt - тогда вам понадобится весь этот беспорядок, чтобы правильно его построить. Это огромная задача, и если у вас нет опыта, вероятно, лучше просто попросить других о прямой помощи здесь.

Чтобы установить значение опции, отличное от "по умолчанию", необходимо дописать -DНАЗВАНИЕ_ОПЦИИ=Значение к команде конфигурирования. Команда после этого может выглядеть, например, так:

Чтобы сделать такое действие в CLion, необходимо перейти в: Settings -> CMake -> CMake options.

Если используется Hunter (пакетный менеджер), то прописываются его настройки

На этапе конфигурирования, CMake ожидает файл tools/gate/cmake/HunterGate.cmake .

Если этот файл не существует, возможны 2 варианта:

  • Либо (если используется шаблонный репозиторий) необходимо обновить подмодули:

git submodule update --init --recursive

Дополнительные опции для компилятора (могут отсутствовать)

Подключение зависимых библиотек

Затем осуществляется подключение библиотек, в которых нуждается проект (Boost, GTest, Threads и т.д.)

Указания для Hunter о необходимо коллекционирования указанных пакетов

Указания о том, какие пакеты будут использованы (ожидается их наличие)

CONFIG - ключевое слово, показывающее маску названий конфигурационных файлов.

REQUIRED - обязательность подключения пакета (иначе - ошибка).

Добавление целей сборки

После настройки окружающией среды пишется информация о том, что ожидается получить в результате сборки

Указание директорий с заголовочными файлами

Указание библиотек для линковки

Названия библиотек из Hunter, как правило, имеют вид LibraryName::ComponentName .

Данные о библиотеках из пакета, добавленного через find_package хранятся в переменных. Например, для Threads: $

Для сборки тестирования необходимо наличие:

  1. Добавления пакета googletest (GTest в Hunter)
  2. Цели для сборки исполняемого файла
  3. Линковки gtest_main и gtest (GTest::main и GTest::gtest в Hunter) к цели
  4. Включенного тестирования в конфигурационном файле

Можно добавлять несколько тестовых целей под разными названиями. И даже с использованием разных фреймворков.

Для сборки и выполнения тестирования необходимо выполнить следующую команду (ожидается предварительное конфигурирование):

Пример тела конфигурационного файла с тестированием:

Для удобства в CLion необходимо добавить конфигурацию сборки google test.

Начало конфигурации. Как правило, его трогать не надо.

Далее прописываются цели, которые будут проанализированы на процент покрытия.

Конец конфигурации. Как правило, не надо трогать.

Для начала необходимо настроить окружение. Как правило, это не надо трогать

Далее необходимо указать jobs'ы, которые будет выполнять Travis. Jobs содержит название и команды.

К таким относятся, например, правила для веток и для уведомлений. Например:


Создаю проект c qMake, main.cpp не заменяю


Добавляю все файлы из папки

Ккак мне нужно выполнить чтение из файла если с проектом прилагается test_file_binary.txt?

передать его в аргументах командной строки, очевидно. Допустим у вас скомпилировался проект и получился бинарник a.exe, вам нужно запустить его из командной строки командой: "a.exe test_file_binary.txt", тогда программе передастсе имя файла и всё будет работать. @ zcorvid попробовал.` Error: Unable to open filetest_file_binary.txt ` пишет в командной строке

В общем решил попробовать "собрать" ваш пример. Работаю тоже в "Qt" :3.

Разобью на действия :

1. Скачал проект

2. Разархивировал проект

3. В той же директории создал проект на С++ (вторая картинка)

4. После чего добавил в проект все файлы кроме Makefile файла. Я так и не понял в чём именно был собран скачанный проект и не стал заворачиваться с ним

5. Также заменил файл main.cpp на разархивированный из проекта.Можно также просто скопировать вставить с заменой всего содержимого.

6. Воаля всё собирается :3

7. Также желательно в ту папку в которой лежит собранный проект (в винде .exe, в линуксе ?? ) положить тестовые текстовые файлы (.txt)

8. В винде : После чего можно зайти в командную строку (cmd) и зайти в папку в которой собран проект (через cmd разумеется) и ввести
команду exper.exe test_file_binary.txt

В линуксе всё печальней :(

Выполняем все действия до 7 пункта. После чего сталкиваемся что исполнительного файла как такового полностью нету. В винде .exe файл при "запуске" сразу говорит каких файлов тебе не хватает после чего, ты просто копируешь их из папки где лежит компилятор в директорию собранного проекта. В линуксе надо устанавливать linuxdeployqt ( sudo apt-get install libqt5webkit5-dev ) после чего выполнять команду подтягивающую библиотеки, но увы у меня не вышло (третья картинка), притом что у меня linuxdeployqt установился.

Читайте также: