Задать вопрос
  • В чем ошибка при установке Mingw w64 для C++?

    @res2001
    Рекомендую использовать mingw не напрямую, а установленный в msys2. В качестве дополнительных бесплатных плюшек получаете:
    1. командную строку bash со всеми линуксовыми утилитами и прочим. Утилиты можно вызывать из cmd винды то же, прописав пути в PATH.
    2. менеджер пакетов pacman. В репозиториях куча портированных под mingw сторонних библиотек.
    3. Все популярные IDE смогут находить установленный mingw, если задать переменные окружения в винде:
    MSYS_HOME=X:\msys64\usr
    MINGW_HOME=X:\msys64\mingw64

    где X:\msys64 - путь куда вы установили msys2.
    Для доступа к линуксовым утилитам из командной строки винды добавьте путь X:\msys64\usr\bin в переменную окружения PATH. Для доступа к компилятору, отладчику и т.п. добавьте в PATH X:\msys64\mingw64\bin

    После установки msys2, mingw надо установить с помощью менеджера пакетов:
    # Обновление
    pacman -Sy pacman
    pacman -Su
    pacman -Syu
    # Установка окружения для сборки
    pacman -S base-devel
    # git
    pacman -S git
    # mingw
    pacman -S mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
    # Остальное по необходимости
    # cmake 
    pacman -S mingw-w64-x86_64-cmake mingw-w64-i686-cmake
    # Qt5
    pacman -S mingw32/mingw-w64-i686-qt5 mingw64/mingw-w64-x86_64-qt5
    # QT Creator
    pacman -S mingw32/mingw-w64-i686-qt-creator mingw64/mingw-w64-x86_64-qt-creator
    # Поиск пакетов в репозитории
    pacman -Ss <reg exp for find package>

    В примерах я ставлю вариант mingw для x32 (i686) и x64 (x86_64). Если нужен только один из них убираете соответствующий пакет.

    Вместо mingw можно установить clang.
  • Как запретить пользоваталям в сети использовать VPN? как блокировать соединения?

    @res2001
    Дополню:
    - отобрать у пользователей админские права на раб. станциях
    - запрет запуска не разрешенных приложений
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, А ларчик то просто открывался и надо было его заметить сразу :)
    В Utils.hpp в 62 строке замени слэши на обратные.
    Линукс не умеет в разные слэши, это только винда всеядная.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Ну вот, справился :-)
    Только в выводе нет строки запуска компилятора. Посмотрел еще раз makefile, оказалось по умолчанию включен "тихий" режим и команды не выводятся.
    Чтоб отключить "тихий" режим попробуй запускать make так:
    make Garrys\ Mod\ 10 verbose=1
    И вывод сюда.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Это не то. Это ты руками вызываешь make. А уже make вызывает компилятор.
    Нужна строка вызова именно компилятора. Она на том же экране, что и ошибка, только надо прокрутить назад (выше) и найти где вызывается gcc (или g++ ну или чем ты там собираешь).
    Освой наконец копи-паст текста из консоли.
  • Проверить первые 2 байта?

    @res2001
    Haaaaz, Ссылку открой, там пример как раз для тебя:
    std::ifstream is{"test.txt", std::ios::binary}
    В примере в конструктор передается еще std::ios::ate - это заставляет сделать переход в конец файла сразу после открытия. В примере это нужно для того, что бы узнать длину файла. Тебе это не нужно, так что ate не указывай.
  • Проверить первые 2 байта?

    @res2001
    Haaaaz,
    функционала там нет

    Есть. Надо открыть файл в двоичном режиме и прочитать 2 байта в переменную unsigned short или двухбайтовый массив.
    https://en.cppreference.com/w/cpp/io/basic_istream/read
    По ссылке выше смотрите пример.
  • Проверить первые 2 байта?

    @res2001
    но так и не понял, каким образом преобразовать в массив байтов файл, который я получаю через CreateFile()

    Это шедевр я считаю! Никогда не встречал настолько завуалированное название операции "чтения из файла" :)

    Когда вы открываете файл, то в системе просто создается некая ссылка на этот файл, никаких данных из файла в памяти еще нет. Чтоб данные появились в памяти их надо из файла прочитать.
    Аналогично, чтоб данные появились в файле их надо записать.
    Это отдельные операции и вызовы.

    Зачем вы сразу залезли в WinAPI? Это сложно.
    Купите учебник по плюсам. В любом учебнике есть описание работы с файлами.
    В стандартной библиотеки С++ есть объекты для работы с файлами. Это на много проще, чем WinAPI.
  • Будет ли разница какой объем занимает система?

    @res2001
    32 Гб для установки хватит. Но с таким системным разделом жить довольно трудно. Придется постоянно себя контролировать.
    Чистая система будет занимать одинаковый объем не зависимо от размера диска/раздела, главное чтоб его хватило для установки.
  • Почему скрипт не работает при наличии в строке символов?

    @res2001
    newaitix, Забудьте про батники.
    1. В HTML файле сплошные спец.символы cmd. Не то что бы такие файлы совсем не возможно обрабатывать в батнике, но это может создавать определенные трудности, из-за которых скорее всего нельзя будет использовать все возможности cmd.
    2. Данные не структурированы, разбить на лексемы не получится. К тому же см.п.1.
    3. findstr поддерживает regexpы, но в крайне ограниченном варианте. В замену она не умеет.

    Используйте sed.
    Или powershell, JScript, VBScript - все это есть в винде из коробки.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков,
    По изображениям выше не видно?

    Нет. Тут только часть вывода компилятора при компиляции Lua535.cpp.
    Нужно увидеть командную строку запуска компилятора, посмотреть параметры, какие туда передаются. Она еще выше должна быть. И захватить еще несколько строк сверху, там могут быть дополнительные вызовы make со сменой каталога, или вызовы cd с тем же самым. Хотя в makefile я cd не увидел.
    В целом makefile выглядит нормально.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Было бы верно - собралось.
    Есть Team Viewer?

    Нет
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Покажи, что конкретно ты прописал. Т.к. если указать абсолютный путь, то заголовок должен быть найден. Варианты могут быть только а) не правильно указан абсолютный путь в -I б) не правильно указан путь в #include. Другого не дано.

    Повторюсь:
    Выложи под спойлер весь вывод компилятора начиная от команды запуска компилятора для файла на котором происходит ошибка. Захвати несколько строк выше команды.
    Выкладывай в текстовом виде. Используй консоль для сборки. Возьми оттуда вывод компилятора и вставь сюда текстом.
  • Почему скрипт не работает при наличии в строке символов?

    @res2001
    Приведите пример входных и выходных данных . Не понятно из описания.
    Во входном файле несколько строк или одна?
    Все строки во входном файле подходят под формат входной строки? Или есть произвольные строки, которые надо просто оставить как есть.
    Вы ищите в коде "version=", а в примере у вас version:. Как так?
    В вашем коде, что-то не видно взятие версии в кавычки.

    Вообще я бы использовал sed из набора линуксовых утилит и соответствующий regexp для замены. В этом случае все, скорее всего, можно сделать одной командой. sed для винды можно взять, например, в msys2.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков,
    Зачем вам полный путь до файлов?

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

    Повторюсь:
    Выложи под спойлер весь вывод компилятора начиная от команды запуска компилятора для файла на котором происходит ошибка. Захвати несколько строк выше команды. Выкладывай в текстовом виде.
    Так же не плохо посмотреть на содержимое ../src, действительно ли там есть файл, указанный в ошибке.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Подставь в INCLUDES вместо относительного пути ../src, абсолютный.
    Если эта ошибка уйдет - значит мое предположение верно.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков, Выложи под спойлер весь вывод компилятора начиная от команды запуска компилятора для файла на котором происходит ошибка. Захвати еще выше несколько строк.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Вадим Ушаков,
    Team Viewer запусти

    Нет.
    В смысле пути не верны относительно?

    Что такое относительные и абсолютные пути знаешь?

    В makefile может меняться текущий каталог перед запуском компилятора. А у тебя пути в INCLUDES относительные (отсутствие начального слеша в пути говорит о том, что путь относительный, такой путь строится от текущего каталога). Т.е. относительно каталога где ты запускаешь make пути могут быть и правильные, но относительно каталога в котором запускается компиляция они могут быть не правильные.
    В абсолютных путях задается путь от корневого каталога.
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    В INCLUDES Указаны относительные пути. Возможно пути не верны относительно текущего каталога в котором происходит компиляция. Попробуйте задать абсолютный путь и проверить уйдет ли ошибка.