Не могу собрать/скомпилить AGG/демки (Anti-Grain Geometry) на Билдере/MinGW
От: An a Student  
Дата: 02.12.16 12:51
Оценка:
Здравствуйте!

Я ещё только учусь, и столкнулся вот с такой проблемой... Почитал об AGG, заинтересовался, скачал. Попытался скомпилить идущие в комплекте демки через "Билдер 6". Не вышло, подумал ну мож очередной баг Билдера — скачал и поставил MinGW. Пока повозился с ним, понатыкался на непонятные проблемы, вроде основы разобрал — а всё равно не компилит, гадина... Ошибки странные, не понимаю их, вернее с какого чёрта они вылезли, нагуглить не удалось похожего.

Итак, у меня WinXP (лицензия), GCC 5.3.0, AGG-r117. Пытался компилить так:

C:\Dev\AGG\examples>g++ gradients.cpp -o gradients.exe -I"C:\Dev\AGG\Include"


Получаю какую-то
  чертовщину:

C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text+0x3f): undefined reference to `agg::platform_support::caption(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text+0x66): undefined reference to `agg::platform_support::init(unsigned int, unsigned int, unsigned int)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text+0x7a): undefined reference to `agg::platform_support::run()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9fast_sqrtEj[__ZN3agg9fast_sqrtEj]+0x2d): undefined reference to `agg::g_elder_bit_table'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9fast_sqrtEj[__ZN3agg9fast_sqrtEj]+0x57): undefined reference to `agg::g_elder_bit_table'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9fast_sqrtEj[__ZN3agg9fast_sqrtEj]+0x81): undefined reference to `agg::g_elder_bit_table'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9fast_sqrtEj[__ZN3agg9fast_sqrtEj]+0x97): undefined reference to `agg::g_elder_bit_table'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9fast_sqrtEj[__ZN3agg9fast_sqrtEj]+0xd7): undefined reference to `agg::g_sqrt_table'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg12trans_affinemLERKS0_[__ZN3agg12trans_affinemLERKS0_]+0x15): undefined reference to `agg::trans_affine::multiply(agg::trans_affine const&)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationD1Ev[__ZN15the_applicationD1Ev]+0x21): undefined reference to `agg::platform_support::full_file_name(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationD1Ev[__ZN15the_applicationD1Ev]+0x9e2): undefined reference to `agg::gamma_ctrl_impl::values(double*, double*, double*, double*) const'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationD1Ev[__ZN15the_applicationD1Ev]+0xabc): undefined reference to `agg::platform_support::~platform_support()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationD1Ev[__ZN15the_applicationD1Ev]+0xb57): undefined reference to `agg::platform_support::~platform_support()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x33): undefined reference to `agg::platform_support::platform_support(agg::pix_format_e, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x3d3): undefined reference to `agg::gamma_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x56d): undefined reference to `agg::spline_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x591): undefined reference to `agg::spline_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x5b5): undefined reference to `agg::spline_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x5d9): undefined reference to `agg::spline_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x601): undefined reference to `agg::rbox_ctrl_impl::border_width(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x629): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x659): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x689): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x6b9): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x6e9): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x711): more undefined references to `agg::spline_ctrl_impl::point(unsigned int, double, double)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x726): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x74b): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x77b): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x7ab): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x7db): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x80b): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x833): more undefined references to `agg::spline_ctrl_impl::point(unsigned int, double, double)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x848): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x86d): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x89d): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x8cd): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x8fd): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x92d): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x955): more undefined references to `agg::spline_ctrl_impl::point(unsigned int, double, double)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x96a): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x98f): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x9bb): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x9e7): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xa13): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xa3f): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xa67): more undefined references to `agg::spline_ctrl_impl::point(unsigned int, double, double)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xa7c): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xa95): undefined reference to `agg::rbox_ctrl_impl::add_item(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xab1): undefined reference to `agg::rbox_ctrl_impl::add_item(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xacd): undefined reference to `agg::rbox_ctrl_impl::add_item(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xae9): undefined reference to `agg::rbox_ctrl_impl::add_item(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xb05): undefined reference to `agg::rbox_ctrl_impl::add_item(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xb21): more undefined references to `agg::rbox_ctrl_impl::add_item(char const*)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xb54): undefined reference to `agg::platform_support::full_file_name(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xc99): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xd05): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xd71): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xddd): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xe49): undefined reference to `agg::spline_ctrl_impl::point(unsigned int, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0xeb5): more undefined references to `agg::spline_ctrl_impl::point(unsigned int, double, double)' follow
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x1662): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x1674): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x1686): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x1698): undefined reference to `agg::spline_ctrl_impl::update_spline()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x1749): undefined reference to `agg::gamma_ctrl_impl::values(double, double, double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_applicationC1EN3agg12pix_format_eEb[__ZN15the_applicationC1EN3agg12pix_format_eEb]+0x17ef): undefined reference to `agg::platform_support::~platform_support()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application7on_drawEv[__ZN15the_application7on_drawEv]+0xdc): undefined reference to `agg::gamma_ctrl_impl::text_size(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application7on_drawEv[__ZN15the_application7on_drawEv]+0x4b1): undefined reference to `agg::trans_affine::invert()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application13on_mouse_moveEiij[__ZN15the_application13on_mouse_moveEiij]+0xbc): undefined reference to `agg::platform_support::force_redraw()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application13on_mouse_moveEiij[__ZN15the_application13on_mouse_moveEiij]+0x103): undefined reference to `agg::platform_support::force_redraw()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application13on_mouse_moveEiij[__ZN15the_application13on_mouse_moveEiij]+0x1f3): undefined reference to `agg::platform_support::force_redraw()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application20on_mouse_button_downEiij[__ZN15the_application20on_mouse_button_downEiij]+0xc6): undefined reference to `agg::platform_support::force_redraw()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application6on_keyEiijj[__ZN15the_application6on_keyEiijj]+0x24): undefined reference to `agg::platform_support::full_file_name(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN15the_application6on_keyEiijj[__ZN15the_application6on_keyEiijj]+0x15f): undefined reference to `agg::platform_support::full_file_name(char const*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg15gamma_ctrl_implD2Ev[__ZN3agg15gamma_ctrl_implD2Ev]+0xb): undefined reference to `vtable for agg::gamma_ctrl_impl'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddb[__ZN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddb]+0x9c): undefined reference to `agg::gamma_ctrl_impl::gamma_ctrl_impl(double, double, double, double, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg16spline_ctrl_implD2Ev[__ZN3agg16spline_ctrl_implD2Ev]+0xb): undefined reference to `vtable for agg::spline_ctrl_impl'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddjb[__ZN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddjb]+0xa3): undefined reference to `agg::spline_ctrl_impl::spline_ctrl_impl(double, double, double, double, unsigned int, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg14rbox_ctrl_implD2Ev[__ZN3agg14rbox_ctrl_implD2Ev]+0xc): undefined reference to `vtable for agg::rbox_ctrl_impl'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddb[__ZN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEC1Eddddb]+0x9c): undefined reference to `agg::rbox_ctrl_impl::rbox_ctrl_impl(double, double, double, double, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_10gamma_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_10gamma_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x15): undefined reference to `agg::gamma_ctrl_impl::rewind(unsigned int)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_10gamma_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_10gamma_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x47): undefined reference to `agg::gamma_ctrl_impl::vertex(double*, double*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_11spline_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_11spline_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x15): undefined reference to `agg::spline_ctrl_impl::rewind(unsigned int)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_11spline_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_11spline_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x47): undefined reference to `agg::spline_ctrl_impl::vertex(double*, double*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_9rbox_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_9rbox_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x15): undefined reference to `agg::rbox_ctrl_impl::rewind(unsigned int)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.text$_ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_9rbox_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j[__ZN3agg22rasterizer_scanline_aaINS_18rasterizer_sl_clipINS_12ras_conv_intEEEE8add_pathINS_9rbox_ctrlINS_6rgba8TINS_6linearEEEEEEEvRT_j]+0x47): undefined reference to `agg::rbox_ctrl_impl::vertex(double*, double*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTV15the_application[__ZTV15the_application]+0x10): undefined reference to `agg::platform_support::on_init()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTV15the_application[__ZTV15the_application]+0x14): undefined reference to `agg::platform_support::on_resize(int, int)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTV15the_application[__ZTV15the_application]+0x18): undefined reference to `agg::platform_support::on_idle()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTV15the_application[__ZTV15the_application]+0x2c): undefined reference to `agg::platform_support::on_ctrl_change()'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTV15the_application[__ZTV15the_application]+0x34): undefined reference to `agg::platform_support::on_post_draw(void*)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE]+0x10): undefined reference to `agg::rbox_ctrl_impl::in_rect(double, double) const'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE]+0x14): undefined reference to `agg::rbox_ctrl_impl::on_mouse_button_down(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE]+0x18): undefined reference to `agg::rbox_ctrl_impl::on_mouse_button_up(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE]+0x1c): undefined reference to `agg::rbox_ctrl_impl::on_mouse_move(double, double, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg9rbox_ctrlINS_6rgba8TINS_6linearEEEEE]+0x20): undefined reference to `agg::rbox_ctrl_impl::on_arrow_keys(bool, bool, bool, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE]+0x10): undefined reference to `agg::spline_ctrl_impl::in_rect(double, double) const'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE]+0x14): undefined reference to `agg::spline_ctrl_impl::on_mouse_button_down(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE]+0x18): undefined reference to `agg::spline_ctrl_impl::on_mouse_button_up(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE]+0x1c): undefined reference to `agg::spline_ctrl_impl::on_mouse_move(double, double, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg11spline_ctrlINS_6rgba8TINS_6linearEEEEE]+0x20): undefined reference to `agg::spline_ctrl_impl::on_arrow_keys(bool, bool, bool, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE]+0x10): undefined reference to `agg::gamma_ctrl_impl::in_rect(double, double) const'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE]+0x14): undefined reference to `agg::gamma_ctrl_impl::on_mouse_button_down(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE]+0x18): undefined reference to `agg::gamma_ctrl_impl::on_mouse_button_up(double, double)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE]+0x1c): undefined reference to `agg::gamma_ctrl_impl::on_mouse_move(double, double, bool)'
C:\DOC~1\S\LOC~1\Temp\ccrIUawl.o:gradients.cpp:(.rdata$_ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE[__ZTVN3agg10gamma_ctrlINS_6rgba8TINS_6linearEEEEE]+0x20): undefined reference to `agg::gamma_ctrl_impl::on_arrow_keys(bool, bool, bool, bool)'
С:/dev/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status



Спрашивал в сети, но так и не дождался ответа, объяснили только что:
    ему нужна папка с файлами: "*.lib" если для MSVS; "*.a" если для MinGW;
    файлы "lib" или "a" надо делать самому, их нету в архиве AGG;
    нужно сначала "собрать" код, получив при этом папку с файлами;
    для компиляции надо указывать компилятору параметр -L"..." в котором будет путь до той папки;

Окей, вроде ясно, но "либы AGG" никак не собираются. В папке AGG был html файл где пишут про некий "CMake", я его скачал и установил, сделал как было написано — какие-то незнакомые ошибки вылезли и всё.
Да и вообще в архиве AGG до чёртиков разных "makefile*" всяких. И этот CMake ни с какими не желает работать. Папку создаёт, но какие-то ошибки и нету файлов собранных.
Объясните/научите кто-нибудь, пожалуйста!

  И ещё может
у кого-то завалялись документация/объяснения принципов устройства AGG? Простыми словами, может Максим объяснял что на форуме...
Вот на сайте есть:

There is the first example, it's in agg/tutorial/t01_rendering_buffer.cpp
...

First, we create another, more civil example, which is in agg/tutorial/t02_pixel_formats:
...

Function write_ppm() writes the pixel map to a file. Hereafter it will be omited in this text, but duplicated when necessary in source code in the agg/tutorial directory.

Те туториалы отличные, всё понял что там описывалось. Но в архиве нету нигде ни файлов таких, ни папки этой, ни дальнейших туториалов...
В таком же ключе не было разъяснений от Максима где-нибудь тут?
agg anti-grain geometry antigraingeometry anti grain geometry mingw
Re: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geometry) на Билдере/MinGW
От: kov_serg Россия  
Дата: 12.08.17 04:41
Оценка:
Здравствуйте, An a Student, Вы писали:

AAS>Здравствуйте!


AAS>Я ещё только учусь, и столкнулся вот с такой проблемой... Почитал об AGG, заинтересовался, скачал. Попытался скомпилить идущие в комплекте демки через "Билдер 6". Не вышло, подумал ну мож очередной баг Билдера — скачал и поставил MinGW. Пока повозился с ним, понатыкался на непонятные проблемы, вроде основы разобрал — а всё равно не компилит, гадина... Ошибки странные, не понимаю их, вернее с какого чёрта они вылезли, нагуглить не удалось похожего.


AAS>Итак, у меня WinXP (лицензия), GCC 5.3.0, AGG-r117. Пытался компилить так:

Не собирается потому что винда лицензионная

AAS>

C:\Dev\AGG\examples>g++ gradients.cpp -o gradients.exe -I"C:\Dev\AGG\Include"


Собираешь либу
g++ -c -Iagg-2.5\include ^
    agg-2.5\font_win32_tt\agg_font_win32_tt.cpp ^
    agg-2.5\src\agg_arc.cpp ^
    agg-2.5\src\agg_arrowhead.cpp ^
    agg-2.5\src\agg_bezier_arc.cpp ^
    agg-2.5\src\agg_bspline.cpp ^
    agg-2.5\src\agg_curves.cpp ^
    agg-2.5\src\agg_embedded_raster_fonts.cpp ^
    agg-2.5\src\agg_gsv_text.cpp ^
    agg-2.5\src\agg_image_filters.cpp ^
    agg-2.5\src\agg_line_aa_basics.cpp ^
    agg-2.5\src\agg_line_profile_aa.cpp ^
    agg-2.5\src\agg_rounded_rect.cpp ^
    agg-2.5\src\agg_sqrt_tables.cpp ^
    agg-2.5\src\agg_trans_affine.cpp ^
    agg-2.5\src\agg_trans_double_path.cpp ^
    agg-2.5\src\agg_trans_single_path.cpp ^
    agg-2.5\src\agg_trans_warp_magnifier.cpp ^
    agg-2.5\src\agg_vcgen_bspline.cpp ^
    agg-2.5\src\agg_vcgen_contour.cpp ^
    agg-2.5\src\agg_vcgen_dash.cpp ^
    agg-2.5\src\agg_vcgen_markers_term.cpp ^
    agg-2.5\src\agg_vcgen_smooth_poly1.cpp ^
    agg-2.5\src\agg_vcgen_stroke.cpp ^
    agg-2.5\src\agg_vpgen_clip_polygon.cpp ^
    agg-2.5\src\agg_vpgen_clip_polyline.cpp ^
    agg-2.5\src\agg_vpgen_segmentator.cpp ^
    agg-2.5\src\ctrl\agg_bezier_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_cbox_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_gamma_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_gamma_spline.cpp ^
    agg-2.5\src\ctrl\agg_polygon_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_rbox_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_scale_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_slider_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_spline_ctrl.cpp ^
    agg-2.5\src\platform\win32\agg_platform_support.cpp ^
    agg-2.5\src\platform\win32\agg_win32_bmp.cpp

ar rs libagg.a ^
    agg_font_win32_tt.o ^
    agg_arc.o ^
    agg_arrowhead.o ^
    agg_bezier_arc.o ^
    agg_bspline.o ^
    agg_curves.o ^
    agg_embedded_raster_fonts.o ^
    agg_gsv_text.o ^
    agg_image_filters.o ^
    agg_line_aa_basics.o ^
    agg_line_profile_aa.o ^
    agg_rounded_rect.o ^
    agg_sqrt_tables.o ^
    agg_trans_affine.o ^
    agg_trans_double_path.o ^
    agg_trans_single_path.o ^
    agg_trans_warp_magnifier.o ^
    agg_vcgen_bspline.o ^
    agg_vcgen_contour.o ^
    agg_vcgen_dash.o ^
    agg_vcgen_markers_term.o ^
    agg_vcgen_smooth_poly1.o ^
    agg_vcgen_stroke.o ^
    agg_vpgen_clip_polygon.o ^
    agg_vpgen_clip_polyline.o ^
    agg_vpgen_segmentator.o ^
    agg_bezier_ctrl.o ^
    agg_cbox_ctrl.o ^
    agg_gamma_ctrl.o ^
    agg_gamma_spline.o ^
    agg_polygon_ctrl.o ^
    agg_rbox_ctrl.o ^
    agg_scale_ctrl.o ^
    agg_slider_ctrl.o ^
    agg_spline_ctrl.o ^
    agg_platform_support.o ^
    agg_win32_bmp.o

del *.o

на выходе libagg.a

Потом свой пример
g++ -ogradients.exe agg-2.5\examples\gradients.cpp -Iagg-2.5\include -L. -lagg -lgdi32
Re[2]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geometry) на Билдере/Min
От: An a Student  
Дата: 15.08.17 09:51
Оценка:
Большое спасибо!
Если копипастить в консоль именно в таком виде (многострочное через "^"), то перед каждой новой строкой оно всовывает "Продолжить?\t" — это не критично?
Большинство файлов "*.o" появляется! Ура! Но всё ещё что-то не так:

..\src\platform\win32\agg_platform_support.cpp: In member function 'bool agg::platform_support::load_img(unsigned int, const char*)':
..\src\platform\win32\agg_platform_support.cpp:1305:56: error: '_stricmp' was not declared in this scope
             if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
                                                        ^
..\src\platform\win32\agg_platform_support.cpp: In member function 'bool agg::platform_support::save_img(unsigned int, const char*)':
..\src\platform\win32\agg_platform_support.cpp:1324:56: error: '_stricmp' was not declared in this scope
             if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
                                                        ^

Как-то можно это исправить без правок исходников AGG? Всякие разные флаги компиляции из выборки Гугла не помогли...
'_stricmp' was not declared in this scope was not declared in this scope _stricmp _stricmp was not declared in this scope mingw win32
Re[3]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geom
От: kov_serg Россия  
Дата: 15.08.17 10:20
Оценка:
Здравствуйте, An a Student, Вы писали:

AAS>Большое спасибо!

AAS>Если копипастить в консоль именно в таком виде (многострочное через "^"), то перед каждой новой строкой оно всовывает "Продолжить?\t" — это не критично?
AAS>Большинство файлов "*.o" появляется! Ура! Но всё ещё что-то не так:

  Батник сделай build-agg.cmd и build.cmd
build-agg.cmd
@echo off
path=mingw\bin;%path%

g++ -c -Iagg-2.5\include ^
    agg-2.5\font_win32_tt\agg_font_win32_tt.cpp ^
    agg-2.5\src\agg_arc.cpp ^
    agg-2.5\src\agg_arrowhead.cpp ^
    agg-2.5\src\agg_bezier_arc.cpp ^
    agg-2.5\src\agg_bspline.cpp ^
    agg-2.5\src\agg_curves.cpp ^
    agg-2.5\src\agg_embedded_raster_fonts.cpp ^
    agg-2.5\src\agg_gsv_text.cpp ^
    agg-2.5\src\agg_image_filters.cpp ^
    agg-2.5\src\agg_line_aa_basics.cpp ^
    agg-2.5\src\agg_line_profile_aa.cpp ^
    agg-2.5\src\agg_rounded_rect.cpp ^
    agg-2.5\src\agg_sqrt_tables.cpp ^
    agg-2.5\src\agg_trans_affine.cpp ^
    agg-2.5\src\agg_trans_double_path.cpp ^
    agg-2.5\src\agg_trans_single_path.cpp ^
    agg-2.5\src\agg_trans_warp_magnifier.cpp ^
    agg-2.5\src\agg_vcgen_bspline.cpp ^
    agg-2.5\src\agg_vcgen_contour.cpp ^
    agg-2.5\src\agg_vcgen_dash.cpp ^
    agg-2.5\src\agg_vcgen_markers_term.cpp ^
    agg-2.5\src\agg_vcgen_smooth_poly1.cpp ^
    agg-2.5\src\agg_vcgen_stroke.cpp ^
    agg-2.5\src\agg_vpgen_clip_polygon.cpp ^
    agg-2.5\src\agg_vpgen_clip_polyline.cpp ^
    agg-2.5\src\agg_vpgen_segmentator.cpp ^
    agg-2.5\src\ctrl\agg_bezier_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_cbox_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_gamma_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_gamma_spline.cpp ^
    agg-2.5\src\ctrl\agg_polygon_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_rbox_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_scale_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_slider_ctrl.cpp ^
    agg-2.5\src\ctrl\agg_spline_ctrl.cpp ^
    agg-2.5\src\platform\win32\agg_platform_support.cpp ^
    agg-2.5\src\platform\win32\agg_win32_bmp.cpp

ar rs libagg.a ^
    agg_font_win32_tt.o ^
    agg_arc.o ^
    agg_arrowhead.o ^
    agg_bezier_arc.o ^
    agg_bspline.o ^
    agg_curves.o ^
    agg_embedded_raster_fonts.o ^
    agg_gsv_text.o ^
    agg_image_filters.o ^
    agg_line_aa_basics.o ^
    agg_line_profile_aa.o ^
    agg_rounded_rect.o ^
    agg_sqrt_tables.o ^
    agg_trans_affine.o ^
    agg_trans_double_path.o ^
    agg_trans_single_path.o ^
    agg_trans_warp_magnifier.o ^
    agg_vcgen_bspline.o ^
    agg_vcgen_contour.o ^
    agg_vcgen_dash.o ^
    agg_vcgen_markers_term.o ^
    agg_vcgen_smooth_poly1.o ^
    agg_vcgen_stroke.o ^
    agg_vpgen_clip_polygon.o ^
    agg_vpgen_clip_polyline.o ^
    agg_vpgen_segmentator.o ^
    agg_bezier_ctrl.o ^
    agg_cbox_ctrl.o ^
    agg_gamma_ctrl.o ^
    agg_gamma_spline.o ^
    agg_polygon_ctrl.o ^
    agg_rbox_ctrl.o ^
    agg_scale_ctrl.o ^
    agg_slider_ctrl.o ^
    agg_spline_ctrl.o ^
    agg_platform_support.o ^
    agg_win32_bmp.o

del *.o

build.cmd
@echo off
path=mingw\bin;%path%

g++ -ogradients.exe agg-2.5\examples\gradients.cpp -Iagg-2.5\include -L. -lagg -lgdi32


Директории в рабочей папке
mingw\              -- 266Mb mingw установленный этим https://vorboss.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe
agg-2.5\            -- 4Mb исходники из http://www.antigrain.com/agg-2.5.zip
build.cmd
build-agg.cmd
libgcc_s_dw2-1.dll  -- dll необходимые для запуска того что собирает mingw
libstdc++-6.dll     -- из mingw\bin\
libagg.a            -- соберётся после выполнения build-agg.cmd
gradients.exe       -- результат сборки


AAS>
AAS>..\src\platform\win32\agg_platform_support.cpp: In member function 'bool agg::platform_support::load_img(unsigned int, const char*)':
AAS>..\src\platform\win32\agg_platform_support.cpp:1305:56: error: '_stricmp' was not declared in this scope
AAS>             if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
AAS>                                                        ^
AAS>..\src\platform\win32\agg_platform_support.cpp: In member function 'bool agg::platform_support::save_img(unsigned int, const char*)':
AAS>..\src\platform\win32\agg_platform_support.cpp:1324:56: error: '_stricmp' was not declared in this scope
AAS>             if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
AAS>                                                        ^
AAS>

AAS>Как-то можно это исправить без правок исходников AGG? Всякие разные флаги компиляции из выборки Гугла не помогли...
Не используйте новые версии C++ добавте флаг -std=gnu++0x

Вообще странно оно из коробки собирается без проблем
g++ --version
g++ (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

А что мешает использовать Visual Studio 2008, или только компилятор c++ от неё, почему именно mingw?

ps: если работаете без ide попробуйте notepad2mod (специально для загрузочной флешки пересобирал на vs2005 такой вариант notepad2-mod-4.2.25.995-nt4 пускается даже на winnt4)
Отредактировано 15.08.2017 11:52 kov_serg . Предыдущая версия . Еще …
Отредактировано 15.08.2017 10:57 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:55 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:48 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:43 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:42 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:34 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:33 kov_serg . Предыдущая версия .
Отредактировано 15.08.2017 10:24 kov_serg . Предыдущая версия .
Re[4]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geom
От: An a Student  
Дата: 15.08.17 23:26
Оценка:
Что без флага -std=gnu++0x, что с ним — одно и то же.

но...

Зато благодаря вашим максимально наиполнейшим описаниям я увидел искомую разницу — у меня файлы отсюда: https://sourceforge.net/p/agg/svn/HEAD/tree/agg-2.4/
Скачал такие как у вас — и прекрасно работает!


Вот дифф: https://sourceforge.net/p/agg/svn/53/tree/agg-2.4/src/platform/win32/agg_platform_support.cpp?diff=1&amp;diformat=sidebyside — какой-то чувак по имени jim_barry в коммите [r53] от 2012-12-27 15:38:33 дорабатывал код, и... ...и помимо прочего зачем-то заодно поменял "stricmp" на "_stricmp".
Объясните пожалуйста новичку смысл такой замены? Типа для смеху нарочно чтоб MinGW шёл в попу? А может всё же как-то можно заставить его компилировать?

Поменял в своей старой локальной копии обратно — теперь и ту версию нормально компилирует.
_stricmp stricmp '_stricmp' was not declared in this scope _stricmp was not declared in this scope was not declared in this scope mingw stricmp & _stricmp зачем менять stricmp на _stricmp?
Re[5]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geom
От: 8bit  
Дата: 18.08.17 11:34
Оценка:
Здравствуйте, An a Student, Вы писали:

https://stackoverflow.com/questions/12413585/difference-of-stricmp-and-stricmp-in-visual-studio
Re[6]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geom
От: An a Student  
Дата: 18.08.17 23:19
Оценка:
Там про Visual Studio, а у меня ж MinGW. И тот ТС пишет что результат у функций абсолютно одинаковый.
И там спорят что в стандарте, что нет, что куда включено...

А я же спрашиваю нафига надо было менять одно на другое в отлаженных исходниках, когда результат один и тот же, но зато компилироваться перестало на MinGW.
Re[6]: Не могу собрать/скомпилить AGG/демки (Anti-Grain Geom
От: An a Student  
Дата: 18.08.17 23:24
Оценка:
Ну разве что вон в самом конце пишут мол без подчёркивания более универсальна, а если использовать с подчёркиванием то для понимания всеми компиляторами по-хорошему надо как-то это дополнительно отдефайнить или типа того.
И видимо тот чувак забыл это сделать, ну окей, предположим, но зачем вообще было подобное менять в идеально рабочей либе? Да ещё и наоборот с более универсального на менее универсальное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.