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. >>>>> >>>> >>> >> > |