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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]