Fun with compiling - Gtk+, PHP-Gtk2, and MSVC

So I've been using microsoft visual studio (actually it's Visual C++ Express, but uses the same stuff behind the scenes) to work on getting things compiled on windows. PHP-Gtk2 allows for some nifty extensions, well at least on linux. So I've been working to get versions of libglade, scintilla, gtksourceview and mozembed working on windows. It's a long, slow process. Here's the deal so far.

I have gtksourceview and libglade compiling correctly in msvc. the libglade php-gtk2 extension is now compiling correctly as well. In fact, I've been compiling it all against the 2.8.20 gtk+ libs because both libglade and gtksourceview have major windows bugfixes in their latest versions AND require 2.8.x to compile properly. So far using the 2.8.x libs doesn't seem to bother PHP-Gtk2 - after all I've been using that runtime with them for awhile now and it definitely is more stable than the 2.6 stuff. I have run into quite a few problems with the 2.10.x stuff so I'll stick with what's stable for now.

Anyway, I'd like to try to build everything (atk, gtk, pango, cairo, blah blah blah and a million dependencies) in msvc with the theory that they'll be smaller and faster than the current "official" stuff which is done with gcc/mingw. In any case if you check out Callicore Desktop there's a builds area where I'll be throwing junk until I get a real build system ready. For now I'll just throw stuff in there as I get it built and functioning. I'll even provide headers and extra stuff for those interested in the msvc route.

I'm still having trouble with the php-gtk gtksourceview extension. I've been getting
php_sourceview.obj : error LNK2019: unresolved external symbol _phpg_gtksourceview_register_constants referenced in function _php_gtk_xinit_sourceview php_sourceview.obj : error LNK2019: unresolved external symbol _phpg_gtksourceview_register_classes referenced in function _php_gtk_xinit_sourceview
I know libglade does it right so I may have to go source code hunting to find the answer (ah, C code, yummy)


Be the first to write a comment!

Post a Reply