[Digikam-devel] Compiling the GSoC branch on Windows XP with mingw4

Gilles Caulier caulier.gilles at gmail.com
Wed Jul 14 13:01:09 BST 2010


Thanks a lots David, i will apply your patch to svn.

Usually, i patch myself code under windows, but currently, my windows
install is broken, after to try to install mingw4.

How do you install mingw4 on your computer to work with you KDE4
install ? Here, i always use mingw3 based on gcc 3.x. I used standard
install setup program from mingw SF download page, as i explain to my
tutuorial :

http://www.digikam.org/drupal/node/525

Do you tried to use TDM-GCC install ?

http://tdm-gcc.tdragon.net/

Best

Gilles Caulier

2010/7/14 David Eriksson <meldavid at acc.umu.se>:
> Hi,
>
> The GSoC branch does not compile with mingw4 on Windows XP as it is now.
> There are only small problems and I have created patches against the
> different components.
>
> libface:
> Under Windows the DLL-files need to be installed in bin. This is done by
> setting both RUNTIME DESTINATION and LIBRARY DESTINATION.
> Under Windows the default location of the haarcascades-directory is
> OPENCVDIR/data/haarcascades.
>
> libkexiv2:
> To get libkexiv2 to compile under Windows the definition -DEXV_HAVE_DLL is
> needed. This applies to both the GSoC-branch and the trunk.
>
> libkmap:
> The export-macro looks for MAKE_LIBKMAP_LIB but MAKE_KMAP_LIB is needed.
>
> gpssync:
> Here there are problems with the export-macors.
>
> digikam:
> Here there are also problems with the export-macros.
>
> With these patches it compiles for me.
>
> Best Regards,
>
> David Eriksson
>
> Index: libs/database/imagetagpair.h
> ===================================================================
> --- libs/database/imagetagpair.h        (revision 1149793)
> +++ libs/database/imagetagpair.h        (working copy)
> @@ -41,7 +41,7 @@
>  class ImageInfo;
>  class ImageTagPairPriv;
>
> -class DIGIKAM_EXPORT ImageTagPair
> +class DIGIKAM_DATABASE_EXPORT ImageTagPair
>  {
>  public:
>
> Index: libs/database/tagproperties.h
> ===================================================================
> --- libs/database/tagproperties.h       (revision 1149793)
> +++ libs/database/tagproperties.h       (working copy)
> @@ -40,7 +40,7 @@
>
>  class TagPropertiesPriv;
>
> -class DIGIKAM_EXPORT TagProperties
> +class DIGIKAM_DATABASE_EXPORT TagProperties
>  {
>  public:
>
> Index:
> utilities/advancedrename/parser/options/database/keys/positionkeys.cpp
> ===================================================================
> --- utilities/advancedrename/parser/options/database/keys/positionkeys.cpp
>    (revision 1149793)
> +++ utilities/advancedrename/parser/options/database/keys/positionkeys.cpp
>    (working copy)
> @@ -31,7 +31,7 @@
>
>  #include "databaseinfocontainers.h"
>  #include "imageinfo.h"
> -#include "imageposition.cpp"
> +#include "imageposition.h"
>
>  static const QString KEY_LATITUDE("Latitude");
>  static const QString KEY_LONGITUDE("Longitude");
> Index: utilities/scriptiface/scriptiface.h
> ===================================================================
> --- utilities/scriptiface/scriptiface.h (revision 1149793)
> +++ utilities/scriptiface/scriptiface.h (working copy)
> @@ -31,14 +31,12 @@
>
>  // Local includes
>
> -#include "digikam_export.h"
> -
>  namespace Digikam
>  {
>
>  class ScriptIfacePriv;
>
> -class DIGIKAM_EXPORT ScriptIface : public KDialog
> +class ScriptIface : public KDialog
>  {
>     Q_OBJECT
>
>
> Index: gpssync/borrowed-future/klinkitemselectionmodel.h
> ===================================================================
> --- gpssync/borrowed-future/klinkitemselectionmodel.h   (revision 1149793)
> +++ gpssync/borrowed-future/klinkitemselectionmodel.h   (working copy)
> @@ -25,8 +25,6 @@
>  #include <QtGui/QItemSelectionModel>
>  #include <QtGui/QAbstractProxyModel>
>
> -#include "kdeui_export.h"
> -
>  class KLinkItemSelectionModelPrivate;
>
>  /**
> @@ -92,7 +90,7 @@
>   @author Stephen Kelly <steveire at gmail.com>
>
>  */
> -class KDEUI_EXPORT KLinkItemSelectionModel : public QItemSelectionModel
> +class KLinkItemSelectionModel : public QItemSelectionModel
>  {
>     Q_OBJECT
>  public:
> Index: gpssync/borrowed-future/kmodelindexproxymapper.h
> ===================================================================
> --- gpssync/borrowed-future/kmodelindexproxymapper.h    (revision 1149793)
> +++ gpssync/borrowed-future/kmodelindexproxymapper.h    (working copy)
> @@ -24,8 +24,6 @@
>
>  #include <QObject>
>
> -#include "kdeui_export.h"
> -
>  class QAbstractItemModel;
>  class QModelIndex;
>  class QItemSelection;
> @@ -76,7 +74,7 @@
>  * @author Stephen Kelly <steveire at gmail.com>
>  *
>  */
> -class KDEUI_EXPORT KModelIndexProxyMapper : public QObject
> +class KModelIndexProxyMapper : public QObject
>  {
>   Q_OBJECT
>  public:
>
> Index: CMakeLists.txt
> ===================================================================
> --- CMakeLists.txt      (revision 128)
> +++ CMakeLists.txt      (working copy)
> @@ -16,6 +16,7 @@
>  INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}")
>  INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}/src")
>
> +SET(BINDIR bin)
>
>  #Check if system is 32 or 64 bit. Thanks to ulrichard for pointing to link.
>  IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
> Index: src/CMakeLists.txt
> ===================================================================
> --- src/CMakeLists.txt  (revision 128)
> +++ src/CMakeLists.txt  (working copy)
> @@ -14,7 +14,7 @@
>  SET_TARGET_PROPERTIES(face PROPERTIES VERSION
> ${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION})
>  SET_TARGET_PROPERTIES(face PROPERTIES SOVERSION
> ${${PROJECT_NAME}_MAJOR_VERSION})
>
> -INSTALL(TARGETS face DESTINATION ${LIBDIR})
> +INSTALL(TARGETS face RUNTIME DESTINATION ${BINDIR} LIBRARY DESTINATION
> ${LIBDIR})
>  INSTALL(FILES LibFace.h
>                          Face.h
>                          LibFaceCore.h
> Index: src/LibFace.h
> ===================================================================
> --- src/LibFace.h       (revision 128)
> +++ src/LibFace.h       (working copy)
> @@ -56,7 +56,11 @@
>
>
>  public:
> +#ifdef WIN32
> +    LibFace(Mode type=ALL, const std::string & configDir=".", const
> std::string & cascadeDir = std::string(OPENCVDIR)+"/data/haarcascades");
> +#else
>     LibFace(Mode type=ALL, const std::string & configDir=".", const
> std::string & cascadeDir = std::string(OPENCVDIR)+"/haarcascades");
> +#endif
>     ~LibFace();
>
>     // OpenCV compatibility methods
>
> Index: libkexiv2/CMakeLists.txt
> ===================================================================
> --- libkexiv2/CMakeLists.txt    (revision 1149793)
> +++ libkexiv2/CMakeLists.txt    (working copy)
> @@ -26,6 +26,9 @@
>
>  ADD_DEFINITIONS(${EXIV2_DEFINITIONS})
>  ADD_DEFINITIONS(${KDE4_ENABLE_EXCEPTIONS})
> +IF( WIN32 )
> +ADD_DEFINITIONS( -DEXV_HAVE_DLL )
> +ENDIF( WIN32 )
>
>  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake
> ${CMAKE_CURRENT_BINARY_DIR}/version.h)
>
>
> Index: libkmap/libkmap_export.h
> ===================================================================
> --- libkmap/libkmap_export.h    (revision 1149793)
> +++ libkmap/libkmap_export.h    (working copy)
> @@ -24,7 +24,7 @@
>  #include <kdemacros.h>
>
>  #ifndef KMAP_EXPORT
> -# if defined(MAKE_LIBKMAP_LIB)
> +# if defined(MAKE_KMAP_LIB)
>    // We are building this library
>  #  define KMAP_EXPORT KDE_EXPORT
>  # else
>
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
>



More information about the Digikam-devel mailing list