Opened 9 years ago

Closed 9 years ago

#5745 closed enhancement (duplicate)

Support for Kakadu 32 and 64bit version

Reported by: Martin Mikita Owned by: warmerdam
Priority: normal Milestone:
Component: ConfigBuild Version: svn-trunk
Severity: normal Keywords: kakadu visual studio x64
Cc: Robert Coup

Description

I experienced problems with adding Kakadu support for x64 compilation with Visual Studio 2012.

OBJ_PREFIX variable is hardcoded for x86 (32bit) version, in 1.11.1 also for version 6 of Kakadu.

I made diff file for this change. I am not sure, whether new object files (see diff file) is required for v6, but they are definitely required for kakadu 7.5. I do not know how append version checking for this.

Attachments (1)

gdal-kakadu.diff (1.3 KB ) - added by Martin Mikita 9 years ago.
Support for Kakadu x86 and x64 in Visual Studio

Download all attachments as: .zip

Change History (5)

by Martin Mikita, 9 years ago

Attachment: gdal-kakadu.diff added

Support for Kakadu x86 and x64 in Visual Studio

comment:1 by Even Rouault, 9 years ago

Cc: Robert Coup added

comment:2 by Robert Coup, 9 years ago

Ideally we need to use the KDU_{MAJOR,MINOR}_VERSION macros from #5946, but we'll likely need to do some compile-the-header-file-to-get-them-during-configure nastiness to actually get the values.

@rouault, are there other examples of doing that sort of thing in GDAL? Makefiles are not my forté

in reply to:  2 comment:3 by Even Rouault, 9 years ago

@rouault, are there other examples of doing that sort of thing in GDAL? Makefiles are not my forté

In configure.in, we have various tests to detect versions/variants. Arbitrary example :

    rm -f testiconv.*
    echo '#include <iconv.h>' > testiconv.cpp
    echo 'int main(int argc, char** argv) { iconv_t cd = 0; return iconv (cd, (const char **) 0, 0, 0, 0); } ' >> testiconv.cpp
    if test -z "`${CXX} ${CPPFLAGS} testiconv.cpp -c 2>&1`" ; then
        AC_MSG_RESULT([using ICONV_CPP_CONST="const"])
        ICONV_CPP_CONST="const"
    else
        AC_MSG_RESULT([using ICONV_CPP_CONST=""])
        ICONV_CPP_CONST=""
    fi
    rm -f testiconv.*

But AFAIC there's no way to do that on Windows nmake makefiles. Or at least not like that. frmts/mrsid/nmake.opt has very complicated logic to detect the MrSID SDK version, by checking which files are available, and looking for strings in them.

comment:4 by Even Rouault, 9 years ago

Resolution: duplicate
Status: newclosed

Adressed by #6052

Note: See TracTickets for help on using tickets.