Вверх ↑
Ответов: 1841
Рейтинг: 369
#1: 2014-06-12 07:11:18 ЛС | профиль | цитата
Nic, такой вопрос.
С какими версиями GCC (MinGW?), gtkmm и sqlite3, собирается последняя ревизия HiAsm 5?
Репозиторий всё так-же тут "svn.hiasm.com/hiasm5"?
Последний раз собирал в 2012 году, и, видимо с тех пор были внесены изменения или инструменты обновились
Собрать получается, но при запуске получаю appcrash...
Даже получилось весь проект перенести в Qt Creator и собрать, но всё так-же крашится на одной из функции из Gtk (papersize.h:const Glib::ustring PAPER_NAME_A3 = "iso_a3";).
Кучу версий Gtk, gcc и sqlite3 перебрал уже
------------ Дoбавленo в 06.12:
Всё, проблема решена.
Проблема была в версии GCC (tdm-gcc-4.6.1 подошла).
------------ Дoбавленo в 06.31:
Ну вот, можно начинать перенос с Gtk на Qt
truebuild.png
------------ Дoбавленo в 07.11:
884 неиспользуемых переменных
Вот что выдал статический анализатор, именно по проекту HiAsm (1 и 2 - уровни предупреждения из 3):
project analysis

codegen.cpp(652): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] buf;'.
codegen.cpp(724): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] buf;'.
commandmanager.h(75): error V572: It is odd that the object which was created using 'new' operator is immediately casted to another type.
commandmanager.h(80): error V572: It is odd that the object which was created using 'new' operator is immediately casted to another type.
elementconfig.cpp(205): error V557: Array underrun is possible. The value of 'l - 1' index could reach -1.
elementconfig.cpp(206): error V557: Array underrun is possible. The value of 'l - 2' index could reach -2.
elementconfig.cpp(207): error V557: Array underrun is possible. The value of 'l - 2' index could reach -2.
elementconfig.cpp(209): error V557: Array underrun is possible. The value of 'l - 1' index could reach -1.
elementproperty.cpp(212): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] sb;'.
elementproperty.cpp(252): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] sb;'.
elements.cpp(1220): error V636: The 'width / 2' expression was implicitly casted from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
elements.cpp(1572): error V636: The '(int) op1 / (int) op2' expression was implicitly casted from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
layerobjects.cpp(155): error V636: The '(height - 14) / info.size()' expression was implicitly casted from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
propeditor.cpp(103): error V636: The 'parent->get_width() / 2' expression was implicitly casted from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
sdk.cpp(45): error V599: The virtual destructor is not present, although the 'SelectManager' class contains virtual functions.
sdk.cpp(492): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] del_path;'.
selectmanager.cpp(215): error V611: The memory was allocated using 'new T[]' operator but was released using the 'delete' operator. Consider inspecting this code. It's probably better to use 'delete [] sbuf;'.
windowmanager.cpp(485): error V599: The virtual destructor is not present, although the 'FormEditor' class contains virtual functions.
windowmanager.cpp(939): error V654: The condition '1 < 10000' of loop is always true.
И это только потенциальные ошибки проекта...
В Gtk не меньше
А если включить потенциальные ошибки в случае компиляции на x64, то там, что у проекта, что у Gtk, куча возможных ошибок
карма: 1
0