|
From: Mat <mat...@gm...> - 2010-05-05 10:01:44
|
I just surveyed the dbus's windows implementations.
I found that dbus has a poll wrapper: _dbus_poll()
The code details is show below:
http://cgit.freedesktop.org/dbus/dbus/tree/dbus/dbus-sysdeps-win.c?h=dbus-1.2.4permissive
I guess sys/poll.h could not be solved via some convenient header, and
have to have a win32 wrapper implementation for it.
On Tue, May 4, 2010 at 6:34 PM, Mat <mat...@gm...> wrote:
> The related code blocks seems to be:
>
> src/eventloop.cpp's => DefaultMainLoop::dispatch()
> src/eventloop-integration.cpp's => BusWatch::BusWatch()
> src/eventloop-integration.cpp's => BusDispatcher::watch_ready()
>
>
> On Tue, May 4, 2010 at 4:55 PM, Mat <mat...@gm...> wrote:
>> Now I encountered another compilation error caused by missing "sys/poll.h"
>>
>> The error message is like:
>> ===================
>> /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src
>> -I.. -Ic:/kderoot/include
>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/include
>> -I../include -I/c/kderoot/include -fvisibility=hidden -Wall -O3 -MT
>> eventloop.lo -MD -MP -MF .deps/eventloop.Tpo -c -o eventloop.lo
>> /c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp
>> libtool: compile: g++ -DHAVE_CONFIG_H -I.
>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src
>> -I.. -Ic:/kderoot/include
>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/include
>> -I../include -I/c/kderoot/include -fvisibility=hidden -Wall -O3 -MT
>> eventloop.lo -MD -MP -MF .deps/eventloop.Tpo -c
>> /c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp
>> -DDLL_EXPORT -DPIC -o .libs/eventloop.o
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:39:22:
>> error: sys/poll.h: No such file or directory
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:
>> In member function 'virtual void DBus::DefaultMainLoop::dispatch()':
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:165:
>> error: 'pollfd' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:165:
>> error: expected ';' before 'fds'
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:173:
>> error: 'fds' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:182:
>> error: 'fds' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:183:
>> error: 'POLLIN' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:183:
>> error: 'POLLOUT' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:183:
>> error: 'POLLPRI' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:208:
>> error: 'fds' was not declared in this scope
>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/eventloop.cpp:208:
>> error: 'poll' was not declared in this scope
>> make[2]: *** [eventloop.lo] Error 1
>> make[2]: Leaving directory
>> `/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/mingw4-RelWithDebInfo-0.5.0/src'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory
>> `/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/mingw4-RelWithDebInfo-0.5.0'
>> make: *** [all] Error 2
>> ===================
>> ( details are in attachments )
>>
>> Would somebody like to help to solve this problem or some advice for
>> this problem?
>> Thank you very much.
>>
>> sincerely, Mat.
>>
>>
>> On Tue, May 4, 2010 at 4:49 PM, Mat <mat...@gm...> wrote:
>>> I found this problem was caused by "interface" reserved word.
>>>
>>> http://article.gmane.org/gmane.comp.gnu.mingw.announce/1820
>>>
>>> =============
>>>>Comment By: Danny Smith (dannysmith)
>>> Date: 2009-01-15 19:41
>>>
>>> Message:
>>> Hello Alexandr
>>> Thanks for the test case.
>>> I believe the bug is cause by the preprocessor definition of the
>>> identifier "interface" as "struct" in the w32api header basetype.h (see
>>> defs starting at line 43).
>>>
>>> Try adding
>>> #undef interface
>>> to qfutureinterface.h
>>>
>>> Danny
>>> =============
>>>
>>> I made a dirty hack to add "#undef interface" on the header of every
>>> src/*.cpp, and it did solve the compilation error.
>>>
>>> sincerely, Mat.
>>>
>>>
>>> On Sun, May 2, 2010 at 3:31 PM, Mat <mat...@gm...> wrote:
>>>> BTW, The source I use is the unofficial variant:
>>>>
>>>> http://gitorious.org/dbus-cplusplus
>>>>
>>>>
>>>> On Sun, May 2, 2010 at 3:28 PM, Mat <mat...@gm...> wrote:
>>>>> Hi all,
>>>>>
>>>>> I am trying to port dbus-c++-0.5.0 to kde-windows ( via kde-windows' emerge ).
>>>>> After some works, I got some problem of compilation like...
>>>>>
>>>>> ===
>>>>> libtool: compile: g++ -DHAVE_CONFIG_H -I.
>>>>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src
>>>>> -I.. -Ic:/kderoot/include
>>>>> -I/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/include
>>>>> -I../include -I/c/kderoot/include -fvisibility=hidden -Wall -O3 -MT
>>>>> object.lo -MD -MP -MF .deps/object.Tpo -c
>>>>> /c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp
>>>>> -DDLL_EXPORT -DPIC -o .libs/object.o
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:
>>>>> In member function 'virtual bool
>>>>> DBus::ObjectAdaptor::handle_message(const DBus::Message&)':
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:203:
>>>>> error: expected unqualified-id before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:203:
>>>>> error: expected initializer before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:205:
>>>>> error: expected primary-expression before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:207:
>>>>> error: expected primary-expression before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:
>>>>> In member function 'virtual bool
>>>>> DBus::ObjectProxy::handle_message(const DBus::Message&)':
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:353:
>>>>> error: expected unqualified-id before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:353:
>>>>> error: expected initializer before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:360:
>>>>> error: expected primary-expression before 'struct'
>>>>> c:/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/libdbus-c++-0.5.0/src/object.cpp:362:
>>>>> error: expected primary-expression before 'struct'
>>>>> make[2]: *** [object.lo] Error 1
>>>>> make[2]: Leaving directory
>>>>> `/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/mingw4-RelWithDebInfo-0.5.0/src'
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory
>>>>> `/c/kderoot/build/win32libs-sources/dbus-cpp-src-0.5.0/work/mingw4-RelWithDebInfo-0.5.0'
>>>>> make: *** [all] Error
>>>>> ====
>>>>> ( details are in attachments )
>>>>>
>>>>> Would somebody like to help me to solve this problem or some advice
>>>>> for this problem?
>>>>>
>>>>> Thank you very much.
>>>>>
>>>>> sincerely, Mat.
>>>>>
>>>>
>>>
>>
>
|