MSVC Portability
Zoltán Sólyom
z-ismeretlen at freemail.hu
Wed Apr 3 15:21:49 EDT 2013
On 13/04/03 16:30, Daniel Atallah wrote:
>> After the first run with the DLLs compiled in Visual studio, there was an
>> access violation. I found that the pointer to FILE structure returned by
>> g_fopen is not compatible with file operations in MS libraries ( Does this
>> state the same?
>> https://developer.gnome.org/glib/2.28/glib-File-Utilities.html#g-fopen ).
> Yes that's pretty much the expected behavior because it's using a
> different C Runtime.
>
> [...]
>
> I think the correct solution is to compile glib against the same C
> Runtime that you'll be using with pidgin.
>
> http://gtk.hexchat.org/ has some documentation about building the
> whole stack - you'll only care about the things above glib, so it is
> substantially simpler.
>
> -D
>
> -D
>
I took the compiled .lib and .dll files from that site, started up
Visual Studio 2010 (I have that also) and included what libpurple
missed. (I copied the whole VS project to a new folder and only added
the required .lib files one by one when it complained, so there is no
file from the original glib for sure.) Unfortunately the moment
libpurple calls fwrite, it still causes an access violation.
I can't tell for sure whether this is caused by the VS2012 install
overwriting stuff from the VS2010, but I don't want to spend another
week just to see that the rebuilt glib won't work either. Now, I'm not
saying it is impossible, but I'll let others with stronger determination
do it. :) If it is not a viable option to modify the libpurple source,
my define hack with the g_fopen replacement will suffice for now.
More information about the Devel
mailing list