Cannot determine dependencies of qtposition_nmea.dll
-
I did not try yet. i've added QtSerialPort and no longer get that link error.
note my app is a Widgets app, but it seems that adding QtWebEngine adds all the QtQuick dlls? is that because the web engine uses qtquick?? i'd rather not add things that aren't strictly necessary -
@jsulm said in Cannot determine dependencies of qtposition_nmea.dll:
@davecotter I'm wondering why qtposition_nmea.dll should depend on Qt6SerialPort?! Strange.
i wonder the same.
also why does it depend on QtQuick? -
@jsulm NMEA 0183 is a combined data/electrical specification for communication with a range of devices, most often GPS units. The specification is serial ASCII over RS-422 or RS-232, which is why serial port access would be useful to a QtPositioning NMEA plugin.
-
i thought QtPositioning was to help lay things out in a window? not related to GPS?
-
@davecotter there is no need to guess, all modules have their purpose documented: https://doc.qt.io/qt-6/qtpositioning-index.html
-
i was just going by what i saw in the Maintenance tool installer, which doesn't mention GPS:
-
so my question becomes: why is it that, when i select to install QtWebEngine, that it does not AUTOMATICALLY install all dependencies? isn't that kindof what the installer's job is?
-
@davecotter said in Cannot determine dependencies of qtposition_nmea.dll:
i was just going by what i saw in the Maintenance tool installer, which doesn't mention GPS:
It also does not mention screen layout. Assumptions are not always right.
Regarding the installer: It does install everything that anyone might ever use because, for a good portion of the time, most will not use all of it. Programmers can surely handle a few simple dependencies.
If you really had to pick on the installer, you could note that installing Qt Web Engine does not force Qt Positioning, and that is a direct dependency.
$ ldd ~/Qt/6.8.1/gcc_64/lib/libQt6WebEngine*.so | grep -i positio libQt6Positioning.so.6 => /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6Positioning.so.6 (0x000072063235b000) libQt6Positioning.so.6 => /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6Positioning.so.6 (0x00007dac80f05000) libQt6Positioning.so.6 => /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6Positioning.so.6 (0x00007a29ad35b000)
There's no direct dependency between any Qt Web Engine library and Qt Serial.
There's no direct dependency of the Qt Positioning libraries on Qt Serial.$ ls ~/Qt/6.8.1/gcc_64/lib/libQt6WebEngine*.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6WebEngineCore.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6WebEngineQuick.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6WebEngineQuickDelegatesQml.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6WebEngineWidgets.so $ ldd ~/Qt/6.8.1/gcc_64/lib/libQt6WebEngine*.so | grep -i serial $ ls ~/Qt/6.8.1/gcc_64/lib/libQt6Positioning*.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6PositioningQuick.so /home/chrisw/Qt/6.8.1/gcc_64/lib/libQt6Positioning.so $ ldd ~/Qt/6.8.1/gcc_64/lib/libQt6Positioning*.so | grep -i serial
There is a direct dependency of one Qt Positioning plugin on Qt Serial:
$ ldd /home/chrisw/Qt/6.8.1/gcc_64/plugins/position/libqtposition_nmea.so | grep -i serial libQt6SerialPort.so.6 => not found
Programs using Qt Web Engine and Qt Positioning will run whether that plugin is present or not. If you do not want runtime dependency on Qt Serial Port, then do not deploy the NMEA positioning plugin and do not attempt to use its functionality.
-
thanks for your reply.
you're correct QtPositioning doesn't mention screen layout. My partial point was that without specifics, the mind's default mode is to substitute what it feels is most likely. This doesn't FEEL like making an assumtion to the mind-user, it feels like what is. the other half of the point, to put it more directly is: the text blurb should disambiguate between position==widget layout vs. position==lat/long.
regarding installer: we have computers to manage things for us, so that we don't have to. my expectation, even as a programmer, is that the program would manage the minutia of installer dependencies. yes, i'm smart enough to learn for myself what depends on what, but if i were the programmer of the installer, i'd have built my knowledge INTO the installer, and not assume that all users of the installer will re-learn what i already know JUST to get a compile without warnings or errors.