mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] About the DBUS package


From: Mark Brand
Subject: Re: [Mingw-cross-env-list] About the DBUS package
Date: Thu, 20 Jan 2011 09:16:31 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 SUSE/3.1.7 Thunderbird/3.1.7


On 01/20/2011 04:46 AM, René Berber wrote:
Hello again,

I just tested a Qt application that uses DBUS, this application I have
been building with my own build of DBUS so the main change is that now
I'm using the one with the cross-development environment, plus Qt has
been rebuild, here the difference is that I used to build Qt with the
configure parameter -dbus, the new qt.mk file uses -dbus-linked (and
this is actually what I wanted to test).

There are 2 differences, and a problem in the result:

  * The problem: the application (statically linked) still depends on the
dynamic library, which is not produced by dbus.mk.

  * Diff.1: my Qt build produces a dependency to dbus-1.dll, the new Qt
build produces one to libdbus-1-3.dll;

  * Diff.2: with my Qt build the library doesn't show as a dynamic
dependency, with the new one it does (so its better).

Of course the only important point is the problem, the library is not
build and/or not installed.

The use of the non-static library was not intended, so that is another
problem, but as I commented on an earlier message, I think this is the
way Qt is "designed", it never uses the static library.  I'm not using
anything explicit on Qt to pull static or dynamic libraries, its as
simple as (application.pro):

CONFIG += qt qdbus thread debug link_pkgconfig
PKGCONFIG = fontconfig libcurl openssl dbus-1 libevent
win32:DEFINES += QT_DBUS

The only possible suspect is usr/i686-pc-mingw32/lib/pkgconfig/dbus-1.pc
which was changed when I make(d) dbus, actually I just noticed that it
is a newer version than the one I was using last, and the relevant part
doesn't have anything to change the type of library:

Version: 1.4.1
Libs: -L${libdir} -ldbus-1  -lws2_32
Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include


Hi René,

I'm not convinced yet that there is a dependency on dbus-1.dll in
mingw-cross-env. For one thing, the procedure here works for me
without any DLL: http://pastebin.com/1nLqpDrB.

Also, usr/i686-pc-mingw32/bin/qdbusviewer.exe runs fine without any DLL.

In an earlier post you mentioned PKGCONFIG in your .pro file:

        "PKGCONFIG = fontconfig libcurl openssl dbus-1 libevent"

I wonder if that, perhaps in combination with the wrong pkg-config,
is causing the problem. You shouldn't need dbus-1 in PKGCONFIG since it's
already in usr/i686-pc-mingw32/lib/QtDBus.prl:QMAKE_PRL_LIBS.

Are you sure you're not invoking plain "pkg-config" somewhere instead of
i686-pc-mingw32-pkg-config? Qmake should be using i686-pc-mingw32-pkg-config
as well thanks to:

usr/i686-pc-mingw32/mkspecs/unsupported/win32-g++-cross/qmake.conf 
100:PKG_CONFIG          = i686-pc-mingw32-pkg-config

and

usr/i686-pc-mingw32/mkspecs/features/link_pkgconfig.prf


Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]