Важная информация

User Tag List

Страница 36 из 36 ПерваяПервая ... 3233343536
Показано с 351 по 357 из 357

Тема: Emu80 v.4

  1. #351
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Рязань
    Сообщений
    1,091
    Благодарностей: 1308
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    > Так MSVC поддерживается
    Тогда нужно файл проекта положить в исходники.
    Я попробовал сделать проект VS2013 со сборкой через nmake, были проблемы с типами данных, такими как int32_t.

    В целом мои рекомендации:
    1. Использовать бьютифаер кода, который по заданным правилам форматирует код автоматически. Применять сразу после изменений. Я использую AStyle, ещё есть clang-format.
    2. Настроить CI для автоматической сборки всех вариантов по коммиту, под всеми системами. На это нужно несколько часов, окупается это время быстро.
    3. Сделать тестовый стенд -- консольное приложение на основе той же самой кодовой базы, выполняющее загрузку и запуск наиболее часто используемых программ, с контролем совпадения "скриншотов" в контрольных точках. Прогонять их после существенных изменений. Это даёт проверку на то что нет регрессии -- что не упало то что раньше уже работало.
    4. Найти программные тесты (в частности, процессора), включить их в набор тестового стенда.

  2. Эти 2 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:
    Pyk (05.05.2018), Titus (05.05.2018)

  3. #352
    Activist
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    397
    Благодарностей: 245
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, я имел в виду, что успешно собирается из Qt Creator и использованием компилятора командной строки MSVC. Собирать из IDE Visual Studio я никогда не пробовал. Согласен, что неплохо бы поэкспериментировать с этим - для многих будет актуально... Кстати, избавился от имевшейся проблемы с MSVC - см. последний коммит. Сейчас все работает после сборки с помощью MSVC, хотя при сборке и выдается большое количество варнингов.

    За рекомендации спасибо: настройка CI есть в ближайших планах, остальное по возможности.

    Думаю еще, что делать с установкой в linux-системах для тех, кто не хочет либо не может заниматься сборкой. Надо бы наверное сделать deb/rpm-пакеты. Как быть только с библиотеками Qt? Пакеты с актуальной версией Qt есть только в репозиториях самых последних версияй дистрибутивов. Наверное статически слинковать? Нет опыта в подобных вещах?

  4. #353
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Рязань
    Сообщений
    1,091
    Благодарностей: 1308
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    nzeemin, я имел в виду, что успешно собирается из Qt Creator и использованием компилятора командной строки MSVC.
    Под Qt Creator в конфигурации Desktop Qt 5.6.3 MSVC2013 32bit -- НЕ собирается, ошибки на типы, такие как uint32_t.

    Под Qt Creator в конфигурации Desktop Qt 5.6.3 MSVC2015 32bit -- собралось, 87 варнингов, работает.

    - - - Updated - - -

    В Qt версии команда сохранения скриншота предлагает только .BMP, но Qt позволяет много других форматов, хотя бы .PNG стоит добавить.

    - - - Updated - - -

    Цитата Сообщение от Pyk Посмотреть сообщение
    Нет опыта в подобных вещах?
    Нет.

  5. #354
    Activist
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    397
    Благодарностей: 245
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, да, все так. От варнингов MSVC 2015 постараюсь со временем избавиться, не уверен, есть ли смысл добиваться сборки с помощью MSVC 2013?

    Кстати, MSCV 2013 и 2015 одновременно установлены? Qt без проблем их различает? У меня не получилось так просто завести одновременно MSVC 2015 и 2010: Qt не видит установленный MSVC 2010 (Express).

    Насчет форматов сохранения в курсе, но отложил пока этот вопрос, поскольку требуется небольшой рефакторинг в SDL-части, чтобы не городить условную компиляцию... В общем, в ближайших планах...

    - - - Добавлено - - -

    P.S. Да, в конфигурации MSVC2015 64bit также собирается и работает.

  6. Этот пользователь поблагодарил Pyk за это полезное сообщение:
    nzeemin (07.05.2018)

  7. #355
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Рязань
    Сообщений
    1,091
    Благодарностей: 1308
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Под macOS в Qt Creator 4.6.0 собралось, конфигурация Desktop Qt 5.9.4 clang 64bit, 3 warnings.
    Особенность в том что конфиг и прочее нужно положить в "папку" /Users/nzeemin/MyProjects/emu80v4/src/Emu80qt.app/Contents/MacOS, то есть по сути внутрь "приложения".
    Радио-86РК запустился, отладчик тоже, кстати это очень забавно видеть такой терминал на маке.

    - - - Updated - - -

    Код:
    /Users/nzeemin/MyProjects/emu80v4/src/Debugger.cpp:24: In file included from Debugger.cpp:24:
    /Users/nzeemin/MyProjects/emu80v4/src/Debugger.h:99: warning: 'init' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
            void init() {EmuWindow::init();};
                 ^
    /Users/nzeemin/MyProjects/emu80v4/src/EmuWindow.h:68: overridden virtual function is here
            void init() override;
                 ^
    /Users/nzeemin/MyProjects/emu80v4/src/Platform.cpp:34: In file included from Platform.cpp:34:
    /Users/nzeemin/MyProjects/emu80v4/src/Debugger.h:99: warning: 'init' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
            void init() {EmuWindow::init();};
                 ^
    /Users/nzeemin/MyProjects/emu80v4/src/EmuWindow.h:68: overridden virtual function is here
            void init() override;
                 ^
    /Users/nzeemin/MyProjects/emu80v4/src/qt/qtPaintWidget.cpp:180: warning: unused parameter 'event' [-Wunused-parameter]
    void PaintWidget::mouseMoveEvent(QMouseEvent *event)
                                                  ^
    Скриншот: https://yadi.sk/i/pphicPgx3VhJCz
    Последний раз редактировалось nzeemin; 11.05.2018 в 02:19.

  8. Этот пользователь поблагодарил nzeemin за это полезное сообщение:
    Pyk (12.05.2018)

  9. #356
    Activist
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    397
    Благодарностей: 245
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    nzeemin, спасибо за хорошие новости.
    Куда на маке обычно нужно класть конфиг и прочее?
    На unix-like это обычно usr/share или usr/local/share, но насчет MacOS совершенно не уверен...
    Кстати, если из "прочего" убрать папку "_settings", то текущие настройки должны сохраняться в $HOME/.config/Emu80, при этом директория установки может быть закрыта для записи.

    А насчет отладчика - сам не знаю, почему мне захотелось сделать такой old-school-отладчик Может быть, когда-нибудь переделаю... Ну или как минимум управление мышкой добавлю...

  10. #357
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Рязань
    Сообщений
    1,091
    Благодарностей: 1308
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Pyk, я по маку мало что знаю, почти не пишу там, проще нагуглить.

    Про отладчик -- по опыту скажу что хороший отладчик это очень важно, в свой я вложил очень много, и это окупается.
    И ещё один вариант с отладчиком -- сделать стаб для gdb, и отлаживать снаружи через gdb или любой другой отладчик, работающий по этому протоколу.

Страница 36 из 36 ПерваяПервая ... 3233343536

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 3 (пользователей: 0 , гостей: 3)

Похожие темы

  1. Emu80, старые версии
    от Pyk в разделе Эмуляторы отечественных компьютеров
    Ответов: 68
    Последнее: 11.03.2017, 01:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •