[Interest] Automatic relink of executable after change in dependant static library

Enmaniac Software enmaniac.software at gmail.com
Fri Jun 16 21:08:39 CEST 2017


Hi all,

 

I hope I am posting it in the right place. This is my first post in this
mailing list. If that's not the right place, I would like to apologize and
feel free to direct me to the correct one.

 

As for my question. I am trying to figure out why my executable is not being
updated when the static library which it depends on gets changed. Here are
my PRO files.

 

Root PRO file:

 

TEMPLATE = subdirs

SUBDIRS += myapp staticlib

 

myapp.subdir = myapp

staticlib.subdir = staticlib

 

myapp.depends = staticlib

 

MyApp PRO file:

QT += core

QT -= gui

 

CONFIG += c++11

 

TARGET = myapp

CONFIG += console

CONFIG -= app_bundle

 

TEMPLATE = app

 

SOURCES += main.cpp

 

# The following define makes your compiler emit warnings if you use

# any feature of Qt which as been marked deprecated (the exact warnings

# depend on your compiler). Please consult the documentation of the

# deprecated API in order to know how to port your code away from it.

DEFINES += QT_DEPRECATED_WARNINGS

 

# You can also make your code fail to compile if you use deprecated APIs.

# In order to do so, uncomment the following line.

# You can also select to disable deprecated APIs only up to a certain
version of Qt.

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs
deprecated before Qt 6.0.0

 

LIBS += -L$$PWD/../staticlib/debug -lstaticlib

INCLUDEPATH += $$PWD/../staticlib

 

Static library PRO file:

QT       -= gui

 

TARGET = StaticLib

TEMPLATE = lib

CONFIG += staticlib

 

# The following define makes your compiler emit warnings if you use

# any feature of Qt which as been marked as deprecated (the exact warnings

# depend on your compiler). Please consult the documentation of the

# deprecated API in order to know how to port your code away from it.

DEFINES += QT_DEPRECATED_WARNINGS

 

# You can also make your code fail to compile if you use deprecated APIs.

# In order to do so, uncomment the following line.

# You can also select to disable deprecated APIs only up to a certain
version of Qt.

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs
deprecated before Qt 6.0.0

 

SOURCES += staticlib.cpp

 

HEADERS += staticlib.h

unix {

    target.path = /usr/lib

    INSTALLS += target

}

 

When the static library is changed, it is recompiled and relinked as
expected. However, the executable itself is not. 

I have tried to use QMAKE from command line and through QtCreator and have
the same issue (Qt 5.8.0 and QtCreator 4.2.1, Windows 10 x64, MSVC 2015)

 

Do I miss something here ?

 

Thanks in advance!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170616/10e7136f/attachment.html>


More information about the Interest mailing list