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

Gilles Caulier caulier.gilles at gmail.com
Wed Jul 14 13:12:54 BST 2010


All patch are applyied to trunk, excepted libface. I don't have right
to libface repository to patch it.

Aditya, can you apply this patch please.

Thanks in advance

Gilles

2010/7/14 Gilles Caulier <caulier.gilles at gmail.com>:
> 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