• Как исправить ошибку с OpenCV и C++?

    Nipheris
    @Nipheris Куратор тега C++
    include_directories(${OpenCV_INCLUDE_DIRS

    И вот это тоже лучше делать с помощью команд для таргетов. Уже 2024-й год, хватит использовать старые команды из доисторических времён.
    Написано
  • Как настроить CMake на установку пакетов?

    Nipheris
    @Nipheris Куратор тега C++
    @Eugene-Usachev
    В общем у вас вопросы из разряда "как собрать и задеплоить приложение на C++?", в крупных проектах это считается за отдельную специализацию, называется build-инженер. Следовательно, в рамках ответа на тостере я вас полностью научить этому не смогу, но могу предложить конкретные направления, куда вы можете углубляться, если уж решили "делать по взрослому".
    Написано
  • Как настроить CMake на установку пакетов?

    Nipheris
    @Nipheris Куратор тега C++
    @Eugene-Usachev
    Я не знаю, на какой ОС будет собираться моё приложение.

    Желательно узнать это как можно раньше, т.к. даже если вы будете использовать кроссплатформенные библиотеки, конечную дистрибуцию поддерживать придётся под конкретные ОС. Лучше сразу узнать или договориться, под что нужно собирать клиент и сервер.
    Оба проекта имеют общие зависимости, как минимум gRPC и сгенерированные proto файлы.

    Тут бы я не спешил с выводами. Да, можно строить зависимости так, что proto-файлы у вас в каком-то отдельно пакете, от которого зависит и клиент и сервер, но вы вполне можете сделать так, что результатом сборки сервера будут помимо прочего ещё и proto-файлы, упакованные тем или иным образом. Это будет похоже на уже стандартный подход для HTTP-сервисов, когда для сервиса пишется руками или генерируется по коду OpenAPI-спецификация, и при релизе сервиса она тоже выкатывается куда-то в виде статического документа, доступного по HTTP, или в виде пакета. В этом есть логика: ведь сервис определяет, какая именно сейчас у него API-ха реализована, тем более если это не какая-то стандартная открытая спецификация (ну типа API S3), которую вы должны релизовать независимо от того нравится она вам или нет, а именно ваша спека gRPC-сервисов. Логично, что при выкатке новой версии сервиса будет выкатываться и новая спека в виде proto-файлов, которую можно подтянуть в клиенты. Заодно кстати и semver пригодится, про который вы спрашивали недавно.

    Но для начала, хочу собрать хотя бы сервер.

    Ну тогда рекомендую выбрать Linux, и сосредоточиться на сборке Docker-образа на базе какой-нибудь убунты. На Винде тоже есть нативный докер сейчас, и тоже принято паковать сервисы в виде образов контейнеров, но там свои заморочкки, можно будет добавить это позже, если вдруг понадобится. Вероятнее всего на сервере будет Линукс.
    Я задал этот вопрос, чтобы прояснить ситуацию, так как разные ссылки в Гугле дают разные ответы, но на форуме ответы тоже разделились.

    Ну это C++ коммьюнити, вот так тут заведено. C++ везде разный, инфраструктура и сборка ОЧЕНЬ разные в разных сферах и платформах. Игроделы, которые пилят под Винду, Мак и какую-нибудь Плойку делают по своему, Яндекс пилит свой бэк по-своему, везде разные ОС, разные библиотеки и разные системы сборки. CMake сейчас стал более-менее стандартом, но не то чтобы ему нет конкуренции, взять тот же Meson.
    В отличие от JS, Go или Rust в C++ более-менее одинаковый только сам язык, всё остальное различается.
    Выше мне посоветовали скачать библиотеки без менеджера, Вы советуете его использовать.

    Люди достаточно инертны (это же C++), плюс что Conan что vcpkg это довольно сложные инструменты, это вам не NPM где херак-херак и зависимости поставились. С ними разбираться надо. С другой стороны, если вы не будете упаковывать библиотеку, а только два приложения, тогда вам будет значительно проще - Conan сильно проще использовать, если вам нужно только зависимости выкачать и конечное приложение собрать.
    Написано
  • Насколько хороша такая политика обновления библиотеки?

    @Eugene-Usachev

    Если смотреть с точки зрения круга пользователей, то у беты он заметно больше. Обычно попользоваться альфой приглашают отдельно небольшое количество пользователей/клиентов. Бета обычно считается подходящей для более широкого круга лиц.

    С точки зрения кода у альфы может быть ещё не сформирован даже конечный API или отсутствовать какие-то ключевые функции. Когда выпускается бета, уже ожидается, что функциональность в целом готова, т.е. по мнению разработчиков "допилено" всё, но есть либо мелкие известные баги, либо какие-то неизвестные. Иными словами, то что в альфе что-то недоделано разработчики и сами знают (и слава богу хоть что-то уже работает), а какие ещё баги есть в бете - могут и не знать, для этого им нужны внешние пользователи (какое-то подмножество ВСЕХ пользователей релизной версии, например 2%).
    Написано
  • Какой язык программирования выбрать для разработки астропроцессора?

    После прочтения вопроса сначала подумал, что речь идёт о каком-то новом типе вычислителей (ну типа квантовых компьютеров, только астра), и для них требуется что-то типа своего Verilog-а.
    Написано
  • Почему зависает commit?

    vottakoinick первая команда, предложенная Sand, не отработала потому что автор написал её для bash-а, а у вас запущен павершелл, в нём переменные окружения задаются через $env:NAME="foobar".

    Но проще сразу настроить вам другой редактор для коммит-мессаджей, чем страдать каждый раз.

    Ну или научитесь писать простой текст в Vim, его особо изучать не нужно для этого.
    Написано
  • Как разумно поставить себе начало в программировании (C++ и C#)?

    Nipheris
    @Nipheris Куратор тега C++
    Василий Банников У вас вклад в тэг C# в 3 раза больше, чем у следующего за вами куратора) А теперь вы растаман, моё почтение) Пожалуй надо в этом году и мне доучить раст наконец))
    Написано
  • Простое решение для десктопа?

    NET минимальной версии 3.6

    Это что за версия дотнета такая? Не помню такой ни у Framework, ни у Core.
    Написано
  • Как узнать, есть ли новые коммиты в подмодуле?

    Что вы понимаете под "новыми коммитами"? Коммиты в том же бранче в ремоуте?
    Написано
  • Как решить проблему подключения БД к WPF проекту?

    Nipheris
    @Nipheris Куратор тега C#
    Может ещё быть вариант с тем, что у вас ругается на .arm64.dII модуль, но виртуальная машина может быть на x64

    Думаю это пока самая вероятная причина. Vinch1k У вас Винда в виртуалке ARM-ная?
    Написано
  • Как исправить ошибку скачивания Microsoft PC Manager в Windows 11?

    Для начала - нажать "подробнее" и можно сразу открыть "eventvwr.msc", и посмотреть, не записывается ли в журнал каких-нибудь ивентов в лог Application and Services Logs > Microsoft > Windows > Store > Operational
    Написано
  • В Visual Studio не запускается проект Avalonia?

    Nipheris
    @Nipheris Куратор тега C#
    Ali-Muhammad покажите ваш XAML код, в котором ошибка. Скорее всего у вас несколько элементов-потомков там, где их больше одного быть не может.
    Написано
  • Как открывать много TCP соединений и поддерживать их?

    Сергей Соловьев
    что в протоколе TCP нет поля указывающего на сетевой интерфейс/карту

    Конечно его нет, ведь оно есть в поле протокола IP. Их даже два. Называются IP-адрес отправителя и IP-адрес получателя.
    Написано
  • Не видит библиотеку, что делать?

    Nipheris
    @Nipheris Куратор тега C++
    XerimHD Вот например интересно пишут про опцию --disable-overwrite
    Написано
  • Не видит библиотеку, что делать?

    Nipheris
    @Nipheris Куратор тега C++
    XerimHD а по какой документации вы изучали, как использовать хедеры этой библиотеки? Все нормальные библиотеки сейчас кладут свои хедеры в отдельный include-неймспейс (проще говоря, подкаталог), чтобы не конфликтовать с другими библиотеками. Вы уверены что нужно писать именно #include <curses.h>, а не #include <ncurses/curses.h>?
    Написано
  • Почему python возвращает существующий объект, вместо создания нового?

    Михаил я упорно не могу понять, что вы так привязались к этому id. Вот другой пример, без всяких set-ов и id, просто псевдослучайные числа:
    import random
    
    def get_number():
    	return random.randint(10, 20) # возвращает разные числа при каждом вызове
    
    d = dict.fromkeys(range(3), get_number())
    print(d) # все значения будут одинаковыми, т.к. get_number() вызовется только один раз, ещё ДО ТОГО как будет вызван fromkeys
    
    d = { x: get_number() for x in range(3) }
    print(d) # значения будут разными, т.к. get_number() вызовется по одному разу для каждого элемента словаря
    Написано
  • Как увеличить фото без потери качества?

    Сергей delphinpro Ну т.е. вы делите ассоциации на "достойные" и "недостойные", так получается. Вот ассоциация с ИИ по-вашему достойная, а с Adobe Illustrator - почему-то не очень достойная. Вот бы все так интересовались нейросетями как вы, а не этим вот Иллюстратором. Кому он нужен, Иллюстратор этот, все теперь рисуют с помощью текста. Наступила новая эра, художники и дизайнеры и не особо-то нужны больше, пора бы уже сменить ассоциации на новые, хайповые и трендовые. Таких взглядов вы придерживаетесь? Мне это больше напоминает "эффект Элизы", известный ещё с 60-х годов прошлого века.

    А вообще, по моим наблюдения, люди, которые нейросетями интересуются, обычно говорят "сгенерировано с помощью ChatGPT" или "создано с помощью DALL-E 2", а не "сгенерировано в AI". Это звучит так же странно, как и фраза "я создал программу на языке программирования в компьютере". Разработчик с 5-ти летним стажем никогда так не скажет кроме как смеха ради.
    Написано
  • Как использовать модифицированный локальный пакет?

    Дмитрий Почему бы вам вместе со своими правками не добавить prepare-скрипт? Тогда не надо будет коммитить dist.