@SergeySerge11

Как создать проект с++ на основе готового кода?

Почему стоит скачать (клонировать, кто это придумал) любой почти проект с гитхаба, он 100% у тебя не запустится, по 10 тысяч ошибок в нем.
Особенно не понимаю, где решения sln, зачем выкладывать проекты без решения, чтобы что?
И даже если есть решения, то как блин их использовать, я что в ручную должен находить 100 файлов библиотек и зависимостей.
Но как правило решений нету, вот пример проекта, как его клонировать, подключить, сделать dll-у и что вообще надо сделать, чтобы запустить main https://github.com/OneLoneCoder/olcPixelGameEngine
Создаешь на основе, как во всех запросах яндекса, проект с существующими кодами, компилируешь там 5 000 ошибок, 5 ТЫСЯЧ!!!

Да как хотя бы из 1 файла hello world сделать проект, не через консоль.
P.S не кидайте ссылки на документацию, или любой запрос, я уже все проверил, 50+ часов времени убил. Ничего не помогает.
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 4
@rPman
Это известная беда кроссплатформенности или кроссфреймворков, в мире существует столько полусовместимых и там столько нюансов, и кстати это беда не только у c++ но и с другими языками, только реже.

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

У этого проекта вики такая инструкция написана и даже видео выложили
Ответ написан
Комментировать
@res2001
Developer, ex-admin
5000 ошибок - скорее всего вы что-то делаете не так.
Обычно к проектам прилагается хотя бы минимальная инструкция по сборке, где, обычно пишут, какой компилятор и среду использовать для сборки.
Даже под винду далеко не все проекты используют MS Visual Studio, поэтому sln файлы совсем не обязательный аттрибут.
Для кросс платформенных проектов, обычно используют какие-то универсильные средства для сборки, например cmake (есть еще ряд других), у которых свои правила использования.
Все это кажется сложным, но на самом деле это не сильно сложно, можно достаточно легко "набить руку" собирая разные проекты скажем в течение месяца :-) Так что ваши 50 часов - ни о чем.
Ответ написан
Комментировать
@12rbah
Почему стоит скачать(клонировать, кто это придумал) любой почти проект с гитхаба, он 100% у тебя не запустится, по 10 тысяч ошибок в нем.

Ну наверное там боты 2к звезд накрутили, а документация для виду сделана.

И даже если есть решения, то как блин их использовать, я что в ручную должен находить 100 файлов библиотек и зависимостей.

Если вам нужна одна-две функции из библиотеки, почему нет?

Если вы под винду делаете, то вот гайд есть гайд компиляции под винду

А вообще есть несколько вариантов решения проблемы:
1) У проектов обычно есть гайды по по установке, но они могут быть в не совсем очевидных местах
2) Попросите помощи в c++ группах помощи по установке (мне помогли там по крайней мере)
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
У меня завелось сразу, хоть и с предупреждениями. Разумеется, проект приходится делать своими силами — и раз уж я использую Qt, сделал вот такой. Прокомментирую его по строчке.
# Эти четыре строчки Qt установил сам, когда я через интерфейс сказал: нужен проект без Qt.
# Я только заменил C++11 на 17, едва увидел make_unique.
TEMPLATE = app
CONFIG += console c++17
CONFIG -= app_bundle
CONFIG -= qt

# Минимальная программа на MinGW требует трёх DLL’ек,
# и для простоты развёртывания я прикрыл две из них.
QMAKE_CXXFLAGS += -static-libgcc -static-libstdc++
QMAKE_LFLAGS += -static-libgcc -static-libstdc++

# Установлено через интерфейс
SOURCES += \
    olcExampleProgram.cpp

HEADERS += \
    olcPixelGameEngine.h

# Как только дошло до ошибок линкера, я стал смотреть, чего не хватает.
# А не хватает многого.
LIBS += -lopengl32 -lgdi32 -lgdiplus -ldwmapi -lshlwapi

# Это третья DLL’ка, которая нужна (была) минимальному проекту на MinGW.
LIBS += -static -lpthread


К сожалению, это преимущество Си и бич Си++ — сборка файлов в проект идёт неязыковыми мерами, и компиляторы Си первыми появлялись на машинах, где нет ничего, кроме ассемблерных утилит (линкера, библиотекаря). Систем сборки в мире даже больше, чем компиляторов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы