Am Montag, 22. März 2010 schrieb Phil Longstaff: > On Mon, 2010-03-22 at 17:15 -0400, Christian Stimming wrote: > > Author: cstim > > Date: 2010-03-22 17:15:15 -0400 (Mon, 22 Mar 2010) > > New Revision: 18955 > > Trac: http://svn.gnucash.org/trac/changeset/18955 > > > > Modified: > > gnucash/trunk/src/backend/xml/gnc-backend-xml.c > > gnucash/trunk/src/backend/xml/io-gncxml-v2.c > > gnucash/trunk/src/backend/xml/sixtp.c > > gnucash/trunk/src/core-utils/gnc-gkeyfile-utils.c > > gnucash/trunk/src/engine/TransLog.c > > Log: > > MSVC compatibility: MSVC must not use g_fopen because it uses a different > > C runtime than the rest of (MSVC) file-handling functions. > > If we're starting to get into conditional compilation based on > compiler/platform,
I'm sorry about my above commit. This is still in experimental state - MSVC compiles, but it still doesn't run (because all the glib wrapped file-related functions use a C runtime which is different from the default MSVC one, and I'm still trying whether I can get along with changing our client code as opposed to having to recompile glib by MSVC). > I think I'll introduce a scheme based on what webkit > has. Basically, there's a platform.h file which contains macros so that > you can use: > > #if COMPILER(MSVC) > #if PLATFORM(WIN32) The reason for using _MSC_VER (note the leading underscore) is that it is a macro which is internally defined by the MSVC compiler and only that one. As I've written on http://wiki.gnucash.org/wiki/CMake#Which_C_preprocessor_macros_tell_me_whether_I.27m_on_Windows_or_Linux.3F - there are macros which exist solely on particular compilers and they always exist there. I'm not so happy with replacing them by hand-written other macros which are defined somewhere in our user code EXCEPT if we have to use that a lot inside of our code, but this is not the case right now. In this particular commit the macro is used (intentionally) only in the section with the header files. I don't intent to use it throughout the code. Best Regards, Christian > #if HAVE(ABC) > #if USE(WEBKIT) > #if ENABLE(FEATURE) > > I think it looks a lot cleaner than what we have now (e.g. MSC_VER) > > Phil > > _______________________________________________ > gnucash-devel mailing list > [email protected] > https://lists.gnucash.org/mailman/listinfo/gnucash-devel > _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
