After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 156621 - new macros are used in gutils.c.
new macros are used in gutils.c.
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: win32
2.5.x
Other All
: Normal normal
: ---
Assigned To: gtk-win32 maintainers
gtk-win32 maintainers
Depends on:
Blocks:
 
 
Reported: 2004-10-27 19:11 UTC by Kazuki Iwamoto
Modified: 2011-02-18 16:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kazuki Iwamoto 2004-10-27 19:11:50 UTC
Please describe the problem:
CSIDL_PROFILE, CSIDL_COMMON_APPDATA and CSIDL_COMMON_DOCUMENTS are new macro.
Those are not in header (shlobj.h) of old SDK.

If I use new SDK, this problem is solved.
But other problem occurs in new SDK.
(http://bugzilla.gnome.org/show_bug.cgi?id=155884)
Should I use SDK what was released when?


Steps to reproduce:
1. compile by Visual C++ 6.0


Actual results:
an error occurs. (http://msdn.microsoft.com/library/ en-us/vccore98/html/c2065.asp)

Expected results:
I want you to decide the version of SDK which we should use.

Does this happen every time?
every time

Other information:
Comment 1 Tor Lillqvist 2004-10-28 02:05:07 UTC
Need to copy definitions of those from the headers included with mingw, then. 
Will do.

Whether to actively support MSVC builds in the GLib/atk/Pango/GTK set is 
somewhat of an open question. Sure, it's very good if that can attract new 
contributors. (Thanks very much to Kazuki for your recent bug reports!)

On the other hand, maintaining separate makefiles for MSVC is a pain. And then 
the fact that MSVC.NET (or whatever it's called) (and the "free" Visual Studio 
compilers downloadable from MSVC) is getting more and more popular, and people 
using it then start screaming "why don't you supply project files ínstead of 
silly makefiles for the obsolete MSVC6 version". (MSVC.NET brings up the issue 
of what C runtime to use, though, and IMHO it's best avoided.)

The best would be if there was a tool that would automatically produce MSVC6 
makefiles (plus some .bat files, presumably) from Makefile.am files, and that 
could be run at source distribution build time (i.e. on Unix).
Comment 2 Kazuki Iwamoto 2004-11-08 15:01:40 UTC
I think that the source code which can be compiled with rewriting headers is
imperfect as a source code.
The changed header should be contained in a source code if it is necessary to
rewrite headers.
(Since the modification by Mr. Hans Breuer on 29th October, glib can be compiled
with using the pure headers contained in MSVC6.)

Is the issue of C runtime msvcr71.dll? I think that it is not so big a problem.
The following free environment is the easiest to get for beginner.
I think that it is better to be based on this environment.

1. Visual C++ Toolkit 2003 (compiler and linker)
2. Microsoft Windows Platform SDK February 2003 (headers, import library and nmake)
3. Microsoft .NET Framework SDK v1.1 (C runtime library)
Comment 3 Hans Breuer 2004-11-09 00:31:26 UTC
The original issue is resolved (for now ;) :

2004-10-29  Hans Breuer  <hans@breuer.org>

	* glibconfig.h */makefile.msc.in : updated [and finally fixed my
	script to produce ready to go de-in(ed) files, w/o autotools]

	* */*.rc.in : updated copyrights to 2004

	* glib/gutils.c : some CSIDL_* defines lacking from older SDK;
	use the same fallback mecahnism as on *NIX where ever applicable

Why using vc7 isn't such a good idea is explained elsewhere, e.g.
http://mail.gnome.org/archives/dia-list/2003-March/msg00141.html
[used google to find my own mails]
Comment 4 Tor Lillqvist 2004-11-09 07:26:28 UTC
> The following free environment is the easiest to get for beginner.

Please note that using the word "free" for something which doesn't cost 
anything, but otherwise isn't free in any other sense of the word, is somewhat 
frowned upon in Free Software circles... but I digress.

Anyway, I am not sure that we necessarily even want absolute beginners to try 
to build GLib, GTK etc themselves. People are expected to have some experience 
in building Open Source software on Windows, some knowledge of Unix principles. 
don't be afraid of the command line, know makefiles, etc.