[Kde-windows] kde4 dbus state ?

Peter Kümmel syntheticpp at gmx.net
Wed May 10 17:28:16 BST 2006


Ralf Habacker wrote:

> which cmake version are you using ? I have no such problem with recent 
> cmake cvs version.

I only use the binary release 2.4.1., maybe this is the (my) problem.


> the dbus library itself is c level, so mingw would be enough, but the qt 
> bindings are c++ and compiler specific.
> We said, that msvc for KDE 4 is supported, so dbus qt binding has to be 
> too.
> 

To compile with msvc until it breaks when linking qdbus
(because of static member functions, QDBusMetaObject::create...)
I've done this changes (here some pseudo diff output):


--
msvc need kdewin32

CMakeLists.txt

# search packages used by KDE
if (WIN32)
	find_package(GNUWIN32)
-	#find_package(KDEWIN32)
+	if(MSVC)
+		find_package(KDEWIN32)
+	endif(MSVC)
endif (WIN32)
find_package(LIBXML2)



+if(MINGW)
  set (HAVE_GNUC_VARARGS 1)
+endif(MINGW)


--
msvc need kdewin32
dbus/CMakeLists.txt

+include_directories( ${CMAKE_INCLUDE_PATH} )


if (WIN32)
	set (LIBS ws2_32 advapi32 netapi32)
+	if(MSVC)
+		set (LIBS ${LIBS} kdewin32)
+	endif(MSVC)
ENDIF (WIN32)


--
dbus has no export specifiers!
+if(MSVC)
+	add_library(dbus-1 STATIC ${libdbus_SOURCES} )
+else(MSVC)
	add_library(dbus-1 ${libdbus_SOURCES} )
+endif(MSVC)



--
is this a difference between C and C++?
dbus/dbus-sysdeps.c

@4185
#else
+   int fd2;
    if (fd < 0)
        return;
  _DBUS_LOCK (win32_fds);

+  fd2 = UNRANDOMIZE (fd);
-  int fd2 = UNRANDOMIZE (fd);


--
something for Thiago Macieria:

qt/qtdbusinterface.h

private:
    Q_DECLARE_PRIVATE(QDBusInterface);
+    Q_DISABLE_COPY(QDBusInterface);
};


--
kdewin32(already checked in):

Index: kdelibs/win/include/msvc/stdlib.h
===================================================================
--- kdelibs/win/include/msvc/stdlib.h       (Revision 538865)
+++ kdelibs/win/include/msvc/stdlib.h       (Arbeitskopie)
@@ -37,7 +37,10 @@
 #define EXIT_FAILURE 1
 #define EXIT_SUCCESS 0

+#define strtoll _strtoi64
+#define strtoull _strtoui64

+
 KDEWIN32_EXPORT long int random();

 KDEWIN32_EXPORT void srandom(unsigned int seed);






More information about the kde-core-devel mailing list