Pull to refresh

Comments 18

Стоять про графики и без графика :(
Когда я думал: «А не добавить ли мне график?». Аргументом против было то, что он ничего из написанного не будет иллюстрировать. Статья о процессе разработки, а не о самих графиках. Да и конечный результат далек от результатов qwt или MathGl, не говоря о gnuplot или Matlab-а, и откровенно сырой, чтоб им было можно хвастаться :)
Ну и где она, красота и мощь-то?

Ни одного примера нет, проект по ссылке просто так не собирается.
1. Судя по путям, теневая сборка работать не будет.
2. В Windows символы из динамических библиотек не экспортируются по умолчанию.
3. Не называйте свои динамические библиотке src.dll, ну серьезно!
4. У вас 12 warning-ов, один из которых — UB (GraphicsDataItem.cpp, line 194)
Варнинги несущественные для статьи. Поправил. .user файл кинул в gitignore, либу переименовал.

В винде собираем VisualStudio?
Добавил макрос экспорта, теперь либа должна линковаться в VisualStudioю Если у вас MinGW, то это странно.
Да, теперь все хорошо.

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

А что странного с MinGW?
Да, в боевых проектах я так и делаю. Да и перед глазами пример Krusader, где из 200 варнингов, которые выкинул компилятор с пяток были серьезны.

MinGW как и gcc (что ожидаемо) не требует дополнительных атрибутов при экспорте dll. И если бы у вас mingw не линковал, то это былоб для меня новым открытием, с которым надо былобы разбираться. :)
У меня и есть mingw.

Будут ли символы экспортироваться, как я понимаю, от платформы зависит, а не от компиллятора. MinGw действует точно так же, как и MSVC.
О как. Похоже что-то поменялось. В свое время у меня Mingw 4.4 не требовал и все прекрасно линковал
Там вот какая интересная штука:

man ld

--export-all-symbols
If given, all global symbols in the objects used to build a DLL
will be exported by the DLL. Note that this is the default if
there otherwise wouldn't be any exported symbols.
When symbols are
explicitly exported via DEF files or implicitly exported via func-
tion attributes, the default is to not export anything else unless
this option is given. Note that the symbols «DllMain@12», «DllEn-
tryPoint@0», «DllMainCRTStartup@12», and «impure_ptr» will not be
automatically exported. Also, symbols imported from other DLLs
will not be re-exported, nor will symbols specifying the DLL's
internal layout such as those beginning with "_head_" or ending
with "_iname". In addition, no symbols from «libgcc», «libstd++»,
«libmingw32», or «crtX.o» will be exported. Symbols whose names
begin with "__rtti_" or "__builtin_" will not be exported, to help
with C++ DLLs. Finally, there is an extensive list of cygwin-pri-
vate symbols that are not exported (obviously, this applies on when
building DLLs for cygwin targets). These cygwin-excludes are:
"_cygwin_dll_entry@12", "_cygwin_crt0_common@8", "_cygwin_noncyg-
win_dll_entry@12", "_fmode", "_impure_ptr", «cygwin_attach_dll»,
«cygwin_premain0», «cygwin_premain1», «cygwin_premain2», «cyg-
win_premain3», and «environ». [This option is specific to the i386
PE targeted port of the linker]
Возможно, Qt что-то экспортирует? Ну или man устарел.

Кстати, попробовал собрать студией — тоже не собирается. Сейчас попробую разобраться.
У вас нет реализации конструкторов Graphics2DHistogramItem

И не пишите QMAKE_CXXFLAGS += -std=c++0x, MSVC ругается на это. Пишите CONFIG+=c++11
Блин, в кои-то веки решил полениться и тут такой облом. Сейчас должен заткнуться. (По-хорошему надо взять и реализовать)

Спасибо за крассплатформенный C++11.
На счет красоты прийдется поверить на слово? :)
Картинку я добавил, но слово «красота» надо понимать в переносном смысле.
Хммм, у меня проблем не наблюдается.
Sign up to leave a comment.

Articles