Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QMAKE_LFLAGS_SONAME - how I use it?



  • In one of my projects I must provide the same name of shared libraries under windows and linux (e.g. reg.dll and reg.so).
    To do so, in reg.pro is written:

    @unix {
    QMAKE_LFLAGS_SONAME = -Wl,-soname,reg.so -o reg.so reg.o -lc
    }
    @

    After build was done:
    @g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DREG_LIBRARY -DQT_NO_DEBUG -DQT_PLUGIN -DQT_CORE_LIB -DQT_SHARED -I/usr/lib64/qt/mkspecs/linux-g++-64 -I../Reg -I/usr/lib64/qt/include/QtCore -I/usr/lib64/qt/include -I. -I../Reg -I. -o reg.o ../Reg/reg.cpp
    rm -f libReg.so
    g++ -m64 -Wl,-O1 -Wl,-rpath,/usr/lib64/qt/lib -shared -o libReg.so reg.o -L/usr/lib64/qt/lib -lQtCore -L/usr/lib64/qt/lib -lpthread
    @
    and library name is 'libReg'.

    What I am doing wrong and what must be done to achieve my goal?
    Thanks in advance.


Log in to reply