• Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth Тогда давайте попробуем в Boost_DIR указать ...../stage/lib/cmake/Boost-1.81.0, ну т.е. добавим в путь ещё Boost-1.81.0, ну или какая там у вас версия. И аналогично - если не будет работать и в этом случае, скиньте такие же логи пожалуйста
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth перед секцией Cache variables, где вы прописываете переменные, есть CMake options. Добавьте туда опцию --debug-find и приложите сюда выхлоп CMake.
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth
    и я не нашел boost-config.cmake

    BoostConfig.cmake тоже подойдёт, это два соглашения об именовании, CMake пытается найти по обоим. BoostConfig.cmake у вас как раз таки есть. Предположу что Буст собрался нормально.

    вот папка, CMakeCache , exe файл находится в src .

    Вот всю папку cmake-build-debug нужно снести и сгенерировать заново (я не знаю что там CLion должен сделать, возможно он и сам предложит сгенерировать автоматически. Главное удалите эту папку, чтобы наверняка всё перегенировалось сначала, и мы были уверены что дело не в CMake-кэше.

    https://www.jetbrains.com/help/clion/invalidate-ca...

    Это статья о чём-то совершенно ином, это не про CMake-кэши.
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth
    Скажите, а нужно ли было добавлять boost в PATH ?

    Нет.

    Содержимое директории выглядит адекватно, Буст собрался. У меня всё так же.

    Как почистить кэш , я точно не знаю

    С этим нужно разобраться, т.к. мы можем сейчас убивать кучу времени зря. Симейк у вас куда-то складывает те файлы, которые он генерирует перед тем, как запустить сборку (собирает кстати не сам Симейк, он генерит инструкции для другой сборочной системы, у вас это ninja вроде). Нужно разобраться, куда они складываются и почистить их. Можете найти где у вас exe-шник лежит, он должен лежать где-то в этой папке, которую нужно почистить.
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth покажите содержимое вашей директории stage/lib/cmake, путь к которой вы указали.
    Ну и на всякий случай почистите симейковский кэш и перегенерьте проект с нуля, если Буст действительно собрался как надо, очень странно что симейк ничего не находит
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth Нужно указать только мажорную и минорную версию, т.е. 1.81, а не 1.81.0
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth Я рекомендую использовать бустовские config-файлы для CMake, вместо встроенного в сам CMake find-модуля для Boost. Чтобы ими воспользоваться сделайте следующее:
    1. Соберите Буст, если ещё не сделали этого
    2. Там же, где ранее передавали переменную SFML_DIR, передайте Boost_DIR, в которой будет путь к подпапке `stage/lib/cmake`, например у меня так он выглядит: D:/Lib/C++/boost_1_82_0/stage/lib/cmake
    3. Добавьте такую инструкцию, указав вместо json нужные вам библиотеки через пробел:
    find_package(Boost 1.82 COMPONENTS json REQUIRED CONFIG)
    , ну и версию поменяйте на нужную вам.
    4. Вышеуказанная инструкция добавит вам таргет Boost::headers для всех header-only библиотек, и по одному таргету вида Boost::<имя_библиотеки> для каждой библиотеки из перечисленных вами. Например, у меня появился таргет Boost::json
    5. Добавьте в ваш исполняемый таргет нужные вам бустовые таргеты в target_link_libraries. Например, я поменял эту инструкцию в вашем коде и получил такой вариант:
    target_link_libraries(Course_Work sfml-graphics Boost::json)
    . У меня всё работает, json подключился успешно.
  • Есть ли статьи, которые приводят наглядные примеры того, как код на rust превосходит код на других языках?

    Я бы ещё добавил, что в C++ настолько много движущихся частей, в том числе всякого легаси, что как правило нужно знать кучу рецептов "как делать надо" и "как не надо". Все эти правила вроде правила трёх/пяти, тот же C++ Core Guidelines, где написано всякое вроде "деструктор должен быть либо публичным виртуальным, либо protected невиртуальным" и так далее.
    Разработчику приятно, когда атомарные элементы языка можно соединить в любых или почти любых комбинациях, и в каждой из них будет какой-то практический смысл. Ну или хотя бы такая комбинация элементов не отстрелит вам обе ноги. А в C++ вам нужно изучить как атомарные элементы, так и всякие комбинации, которые работоспособны. И "отстреливающие" комбинации (например, публичный НЕвиртуальный деструктор) тоже знать нужно.
    Rust - как минимум тупо новый язык, в котором можно было сделать сразу нормально. Выбросить лишнее. Выбросить нерабочие комбинации. Хоть он и очень отличается от C++, я всё равно его воспринимаю как "сделанный с нуля" C++, в плане занимаемой ниши и уровня абстракций.
  • Библиотека markdown файлов на персональном vps хостинге?

    Файлы можно редактировть в удобной форме.

    Вот тут подробнее.

    И подробнее про квалификацию тех, кто будет редактировать. И требуется ли версионирование?
    Потому что действительно похоже, что вам нужна Git-репа на каком-то из Git-сервисов (можно и свой поднять).
  • Актуальна ли на данный момент Desktop разработка на C# WPF?

    Андрей Пустовой если вы хотите ТОЧНО найти работу, лучше определённо веб, причём бэкенд (если вам интересен дотнет). На фронте дотнет тоже теперь существует в виде Blazor, но это пока слишком новая и довольно тяжеловесная технология для массового применения, врядли вы найдёте много вакансий с ней.

    Конкретно по десктопу советую особо не горевать:
    • гораздо важнее, что вы изучаете саму платформу, а не конкретно WPF. Да и врядли вы изучили WPF так же детально, как бывалый десктоп-разработчик, который пилил на нём 10 лет. Вы конечно сейчас пытаетесь экономить каждый день своего времени, вы молоды, хотите доказать что вы можете. Но переучиваться придётся постоянно, нужно уметь систематизировать знания и переиспользовать их;
    • в зависимости от города работа всё же может быть, в дефолт-сити десктопных вакансий на удивление много (например);
    • мало ли как пригодятся знания десктопа. Например сейчас, пока остальная команда пилит на Электроне, TypeScript и React, я занимаюсь инфраструктурой для Винды (нативные прослойки на C++, MSIX, автоматические обновления и вся эта хрень), и мне очень-очень сильно помогает весь мой дедовский опыт с Виндой как с десктопной ОС, и в частности опыт десктопной разработки;
  • Как сделать столкновение с врающейся фигурой SFML?

    Nipheris
    @Nipheris Куратор тега C++
    А в чём вопрос, собственно? Вы предлагаете подебажить ваш код и дописать ещё? Тогда это жалоба сразу же.
  • Какой вариант организации домашней виртуализации выбрать?

    Евгений Воробьев Ну вот я прямо сейчас как раз перед выбором - то ли на самом Proxmox-хосте организовать ZFS-пул, то ли поставить отдельной виртуалкой TrueNAS Core и целиком пробросить ей оба диска, чтобы хост вообще с ними не работал. Пока склоняюсь ко второму варианту, т.к. дома хочется нормальный интерфейс, мне ковыряния в конфигах и на работе хватает. Ну и может в таком виде будет легче перенести на отдельную железку в будущем, хотя по идее для самого пула разницы никакой не должно быть.
    Собирать это дело буду в конце следующей недели, могу рассказать когда заведётся.
    Соглашусь, что это будет не самое ресурсоэкономное решение, но мне сейчас важнее удобство. Да и вообще мне FreeBSD привычнее)) Proxmox использую из-за KVM и обёрточек, т.к. у bhyve сырая экосистема (и непонятно созреет ли она когда-нибудь) и у меня ума не хватило бы там всё настроить.
  • Какой вариант организации домашней виртуализации выбрать?

    CityCat4 В Proxmox есть возможности по созданию кластера и live-миграция машин, но своего опыта у меня пока нет, меня он интересует только в рамках одной машины (мне нужен был дистр с KVM под VFIO-сетап).
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth Не могу ответить на первый ваш вопрос, потому что ничего в нём не понятно. Что такое "инклюдить библиотеки"? Инклюдится файл с исходным кодом (как правило это header-файл), который может быть частью какой-то библиотеки (стандартной библиотеки, библиотеки SFML, библиотеки ffmpeg), а может быть частью вашего проекта. Что такое "библиотеки добавлены в SFML"? SFML - это тоже библиотека. Что значит добавить одну библиотеку в другую? Я не знаю, может конечно в документации SFML такие термины используются, с SFML я не работал (совсем).

    target_include_directories, насчёт этого немного не понял, это для чего нужно и в какой CMake добавить ?

    давайте лучше я коммит сделаю как будет минутка, мне проще будет показать диффом
  • Как называется стандартная форма для MacOS?

    Для Windows используется стандартная реализация WinForms

    При чём тут Си и WinForms? А WinUI это стандартная или нет?
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth для работы с SFML подключайте его таргеты, которые прилетают из его cmake-конфига после выполнения find_package. У SFML всё нормально с этим, вы не должны добавлять его инклуд-директорию вручную. Кроме того, она там одна.
    С вашими внутренними инклудами чуть менее однозначно. Можете с помощью команды target_include_directories добавить в инклуд-пути вашу папку src и пути делать от неё, чтобы избегать относительных путей:
    target_include_directories(Course_Work PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
    .
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth речь идёт о файлах в рамках вашего executable-таргета или о файлах из зависимостей (например, из SFML)?
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    какие-то файлы с присоединять с друг дургом

    Что вы понимаете под "присоединить"?
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    @a1nsworth
    если мне нужно подключить другие библиотеки например AUDIO

    добавляйте в список компонент в find_package и добавляйте таргет в target_link_libraries. Я убрал лишние, т.к. сейчас они вам не нужны, добавите вместе с кодом, которому они нужны.
  • Как выстроить структуру проекта с использованием SFML + CMake?

    Nipheris
    @Nipheris Куратор тега C++
    a1nsworth Путь указан не верно, нужно указывать путь не к инклудам, а туда, где лежит CMakeConfig-файл, на конце должно быть ....SFML-2.5.1/lib/cmake/SFML (пишу по памяти, проверьте сами что там лежит SFMLConfig.cmake). CMake должен найти этот конфиг файл и обработать его, там помимо инклуд-путей ещё много-много интересного делается.
    И покажите ошибку на скрине, если она остаётся, текста же не видно. Можно и текстом скопировать