1. grimmdp
  2. WinMerge
  3. Issues
Issue #1 resolved

invalid suffix "UI64" on integer constant

Tim Gerundt
created an issue

I tried to compile the GUI with Qt SDK 4.6.3/Qt Creator 2.0.0 on a Windows Vista and XP machine (both 32 bit) and get the following error (512 times) in the file xrabply.c:

invalid suffix "UI64" on integer constant

What can I do?

Comments (6)

  1. Kimmo Varis

    I already replied to mailing list but I'll add the same info here too.

    The thing with Qt Creator is it is Windows environment but uses MinGW + GCC as compiler. So when configuring project you need kind of mixed configuration which is partly Windows configuration and partly GCC configuration. So configs assuming GCC is Linux are easily failing. Like in this case.

    I made the PRO files for LibXDiff so that I ran configure in both Windows and Linux and added produced configure.h and winconfig.h to project file. So now the Windows (win32) configuration is used which is not compatible with GCC. But quick hack to get compile working is to edit ext/libxdiff/libxdiff.pro and replace lines inside "win32" block with lines from "unix" block. So that win32 block becomes:

    win32 {
         HEADERS += config.h
         DEFINES += HAVE_CONFIG_H
    }
    

    I'm searching for a way to detect this Windows + GCC configuration which would be the real fix.

  2. Kimmo Varis

    Ok, I expected there could be still that linking problem but somehow didn't run into it myself. Anyway, it needs similar solution than the building - need to link to liblibxdiff.a instead of libxdiff.lib when building with GCC in Windows. It'll takes six or so hours I get back to home to my Windows machine. But the fix should be something like this to gui.pro:

    # Link with libxdiff - need to select library name to link with first
    win32 {
        contains(QMAKE_CC, gcc){
            # MingW
            LIBXDIFFLIBRARY = libxdiff.a
        }
        contains(QMAKE_CC, cl){
            # Visual Studio
            LIBXDIFFLIBRARY = libxdiff.lib
        }
    
        CONFIG(debug, debug|release) {
            LIBS += $$quote(../ext/libxdiff/debug/$${LIBXDIFFLIBRARY})
        } else {
            LIBS += $$quote(../ext/libxdiff/release/$${LIBXDIFFLIBRARY})
    }
    
  3. Kimmo Varis

    Oh, sorry I just noticed that you attached a patch. Yes, that will work also. But perhaps my solution (if it works!) is clearer? Anyway, feel free to commit your fix.

  4. Log in to comment