You are not logged in.
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_createThe 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
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