Web lists-archives.com

GTK+ mingw32 dynamic linking conflict (cairo/pangocairo)




Dear list,

I am trying to use the MSYS2 distributed mingw32 GTK+ DLLs in a VS2013 project.

I have `cairo' and `pango_cairo' API calls in my code, requiring that the following import libraries are added to the VS project option, "Linker->Additional Dependencies":
  • libcairo.dll.a
  • libpangocairo-1.0.dll.a
After a successful build, I get an `Entry Point Not Found' error at run-time.

If `libcairo.dll.a' is above `libpangocairo-1.0.dll.a' in the `Additional Dependencies' list, then the error is:

"The procedure entry point pango_cairo_create_layout could not be located in the dynamic link library libcairo-2.dll"

If  `libpangocairo-1.0.dll.a' is above `libcairo.dll.a', then the error is:

"The procedure entry point cairo_create could not be located in the dynamic link library libpangocairo-1.0-0.dll"

I used the `nm' command to see where the above entry points exist, but they only exist in their expected libraries.

i.e. `pango_cairo_create_layout' is exported in `libpangocairo-1.0.dll.a', as expected, and vice versa for the cairo API call.

I do not know why these entry points are being sought in the incorrect DLLs.

Any ideas how to resolve this linker conflict? Has anyone used the official MSYS2 GTK+ distribution in a Visual Studio project before?

Jeff.
_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
https://mail.gnome.org/mailman/listinfo/gtk-list