You are not logged in.

#1 2010-04-18 21:36:14

Jiboo
Member
Registered: 2010-04-18
Posts: 2

[resolved] Mingw32-Cairo

Hi, I got strange undefined reference when using mingw32-cairo.


[root@myhost mugu]# i486-mingw32-objdump -tC /usr/i486-mingw32/lib/libcairo.dll.a | grep cairo_win32_surface_create
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 cairo_win32_surface_create_with_dib
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _imp__cairo_win32_surface_create_with_dib
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 cairo_win32_surface_create_with_ddb
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _imp__cairo_win32_surface_create_with_ddb
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 cairo_win32_surface_create
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _imp__cairo_win32_surface_create

The symbol in the library shouldn' t be "_cairo_win32_surface_create" as it is C code? (http://www.parashift.com/c++-faq-lite/m … l#faq-32.6)

I don' t get why i got an error on this function but not on cairo_create for example.
The 2 functions don' t got an underscore in the library symbol's table, they are defined between extern "C" in the cairo's headers (CAIRO_{BEGIN, END}_DECLS) and they are both defined as "cairo_public" (so a problem on cairo_win32_surface_create should be a problem on all cairo_public functions too, right?).

Could someone helps me and point me where did I go wrong?

My makefile : http://pastebin.com/bG2dHYuS
The make log : http://pastebin.com/8ZbTNpAw

Thanks in advance,
Jiboo.

Last edited by Jiboo (2010-04-18 22:02:13)

Offline

#2 2010-04-18 22:01:56

Jiboo
Member
Registered: 2010-04-18
Posts: 2

Re: [resolved] Mingw32-Cairo

Was a problem with my makefile, sorry for the useless topic...
My library should appears first in the command line (-lmugu -lcairo)

Bye,
Jiboo.

Offline

Board footer

Powered by FluxBB