Qmake flags
-
Hi
I've searched but cannot find any description for -Wl and -rpath. And why not use those flags with g++?
Also why \
Thanks
MichaelQMAKE_LFLAGS += -g -Wl,-rpath,\\\$\$ORIGIN/liblinux/
-
Please see:
http://doc.qt.nokia.com/latest/qmake-variable-reference.html#qmake-rpath
and
http://doc.qt.nokia.com/latest/qmake-variable-reference.html#qmake-rpathdirThe -Wl,-rpath part just tells the compiler to pass through the option "-rpath" to the linker.
-
Thanks, now how to set $ORIGIN? Compilation is at a different location than execution. But it's always in a folder in same directory as the exeutable. ( ./liblinux/libtoinclude.so )
-
$ORIGIN always represents the directory of the executable. But it doesn't limit you to directory inside the executable directory: you can use, for example, "$ORIGIN/../lib" to put your libraries in a lib directory at the same level as you executable folder:
@.
|-- bin
|-- myexecutable
-- lib
`-- libtoinclude.so
@If the path you want to add is absolute, don't use $ORIGIN, start your path with / (or you could rely on /etc/ld.so.conf to find the correct installed libraries in the default system paths).
-
Thanks now I get a dlerror. Are my includes wrong or how to use the lib without linking? (the lib is GPL so I cannot directly link)
Many thanks
Michaelunix:!macx {
INCLUDEPATH += ./
...
QMAKE_LFLAGS += -g -Wl,-rpath,\$$ORIGIN
}