Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Header file not found but added as library in project file and as header file

Header file not found but added as library in project file and as header file

Scheduled Pinned Locked Moved Unsolved General and Desktop
qt 5.9compileheaderheaderfilebuild
4 Posts 2 Posters 9.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • CybeXC Offline
    CybeXC Offline
    CybeX
    wrote on last edited by
    #1

    Good day

    please note: I have decided to take up a project I last worked on a year ago (including C++ dev, so I may be missing something really stupid)

    I previously used QTCreator 5.7.1, but upgraded to the latest 5.9.1, so I had to change all my build locations to the new 5.9.1 output location.

    Overview of libraries and project

    Various libraries named:

    • gen_common
    • gen_serv
    • misc_common
    • misc_cli
    • cli_gui

    to mention a few that are used. Each has its own .h and .cpp files.

    misc_common.h is added as an external library to misc_cli.
    misc_cli is added as a library to cli_gui.

    Problem:
    Compiling misc_cli (with misc_common and other libraries added) is successful
    Compiling cli_gui (with misc_cli and other libraries added) fails with an error:

    Error:

    /home/cybex/Projects/project-i/client/cli_gui/cli_gui_log.h:13: In file included from ../cli_gui/cli_gui_log.h:13:0,
    /home/cybex/Projects/project-i/client/cli_gui/cli_gui_main.h:12: from ../cli_gui/cli_gui_main.h:12,
    /home/cybex/Projects/project-i/client/cli_gui/main.cpp:3: from ../cli_gui/main.cpp:3:
    /home/cybex/Projects/project-i/libraries/misc_cli/misc_cli.h:9: error: misc_common.h: No such file or directory
     #include "misc_common.h"
              ^~~~~~~~~~~~~~~
    

    Compile output:

    /opt/Qt5.9.1/5.9.1/gcc_64/bin/uic ../cli_gui/cli_gui_log.ui -o ui_cli_gui_log.h
    /opt/Qt5.9.1/5.9.1/gcc_64/bin/uic ../cli_gui/cli_gui_main.ui -o ui_cli_gui_main.h
    /opt/Qt5.9.1/5.9.1/gcc_64/bin/uic ../cli_gui/cli_dlg_set.ui -o ui_cli_dlg_set.h
    g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../cli_gui -I. -I../../libraries/misc_cli -I../../libraries/gen_cli -I../../libraries/gen_common -I../../libraries/netman -I../../libraries/netman -I../../libraries/data_mananger -I../../libraries/data_mananger -I../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug -I../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug -I/opt/Qt5.9.1/5.9.1/gcc_64/include -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtWidgets -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtGui -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtNetwork -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I/opt/Qt5.9.1/5.9.1/gcc_64/mkspecs/linux-g++ -o main.o ../cli_gui/main.cpp
    In file included from ../cli_gui/cli_gui_log.h:13:0,
                     from ../cli_gui/cli_gui_main.h:12,
                     from ../cli_gui/main.cpp:3:
    ../../libraries/misc_cli/misc_cli.h:9:10: fatal error: misc_common.h: No such file or directory
     #include "misc_common.h"
              ^~~~~~~~~~~~~~~
    compilation terminated.
    make: *** [Makefile:2098: main.o] Error 1
    20:24:46: The process "/usr/bin/make" exited with code 2.
    Error while building/deploying project cli_gui (kit: Desktop Qt 5.9.1 GCC 64bit)
    The kit Desktop Qt 5.9.1 GCC 64bit has configuration issues which might be the root cause for this problem.
    When executing step "Make"
    20:24:46: Elapsed time: 00:00.
    

    misc_cli header:

    #ifndef MISC_CLI_H
    #define MISC_CLI_H
    
    #include <QColor>
    #include <QString>
    #include <QList>
    
    #include "misc_cli_global.h"
    #include "misc_common.h"
    
    using namespace misc_common;
    
    namespace misc_cli {
    
    class MISC_CLISHARED_EXPORT misc_cli
        {
    
    //structs 
    //enums
    //variable declarations 
    public:
            misc_cli();
        };
    
    
    }
    
    #endif // MISC_CLI_H
    

    cli_gui_log header:

    #include <QLineEdit>
    #include <QDebug>
    #include <QtGui>
    #include <QPushButton>
    #include <QMessageBox>
    #include <QDesktopWidget>
    #include <QCheckBox>
    
    #include "misc_cli.h"
    #include "data_mananger.h"
    
    Q_DECLARE_LOGGING_CATEGORY(log_client_gui_log)
    
    using namespace misc_cli;
    
    namespace Ui {
    class cli_gui_log;
    }
    

    misc_cli.pro

    #-------------------------------------------------
    #
    # Project created by QtCreator 2017-01-15T21:25:10
    #
    #-------------------------------------------------
    
    QT       += core gui widgets network
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = cli_gui
    TEMPLATE = app
    
    
    SOURCES += main.cpp\
        cli_gui_main.cpp \
        cli_gui_log.cpp \
        cli_dlg_set.cpp
    
    HEADERS  += \
        cli_gui_main.h \
        cli_gui_log.h \
        cli_dlg_set.h
    
    FORMS    += \
        cli_gui_log.ui \
        cli_gui_main.ui \
        cli_dlg_set.ui
    
    RESOURCES += \
        resources.qrc
    
    QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN'"
    
    
    # ============================ MISC_CLI =====================================
    
    # WINDOWS - MINGW
    
    
    
    # UNIX - GCC
    
    
    
    unix:!macx: LIBS += -L$$PWD/../../libraries/build-misc_cli-Desktop_Qt_5_9_1_GCC_64bit-Debug/ -lmisc_cli
    
    INCLUDEPATH += $$PWD/../../libraries/misc_cli
    DEPENDPATH += $$PWD/../../libraries/misc_cli
    
    # =======================================================================
    
    

    In summary

    misc_common <-----> misc_cli ....................OK
    misc_cli <-----> cli_gui_log ....................FAIL

    Why does this occur, I have absolutely no idea why?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Since your misc_cli headers include files from misc_common, you also have the add that path to the misc_gui project otherwise they can't be found.

      As for your hardcoded path, you should rather use OUT_PWD.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      2
      • CybeXC Offline
        CybeXC Offline
        CybeX
        wrote on last edited by
        #3

        @SGaist Thanks for responding, here is the results from your suggestion:

        I have done so, yet it still complains that misc_common.h cannot be found

        please note: this error occurs when building the gui application, and not the misc_cli library. When building the misc_cli library which uses misc_common, it compiles correctly, but when comiling the 'misc_gui' application, the error below occurs.

        The error (of compiling the gui application) points me to the misc_cli header file highlighting the line

        #include "misc_common.h"
        

        and in my 'misc_gui' application, I make use of only the misc_cli.h file as shown below

        #include "misc_cli.h"
        

        Here is my 'misc_gui' project file

        //...
        # ============================ MISC_CLI =====================================
        
        # WINDOWS - MINGW
        
        
        # UNIX - GCC
        
        
        
        unix:!macx: LIBS += -L$$PWD/../../libraries/build-misc_cli-Desktop_Qt_5_9_1_GCC_64bit-Debug/ -lmisc_cli
        
        INCLUDEPATH += $$PWD/../../libraries/misc_cli
        DEPENDPATH += $$PWD/../../libraries/misc_cli
        
        # =======================================================================
        
        # ============================ MISC_CLI =====================================
        
        # WINDOWS - MINGW
        
        
        win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug/release/ -lmisc_common
        else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug/debug/ -lmisc_common
        
        # UNIX - GCC
        
        else:unix: LIBS += -L$$PWD/../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug/ -lmisc_common
        
        INCLUDEPATH += $$PWD/../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug
        DEPENDPATH += $$PWD/../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug
        
        # =======================================================================
        

        and compile output reads:

        23:22:03: Running steps for project cli_gui...
        23:22:03: Configuration unchanged, skipping qmake step.
        23:22:03: Starting: "/usr/bin/make" 
        g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../cli_gui -I. -I../../libraries/gen_cli -I../../libraries/gen_common -I../../libraries/netman -I../../libraries/netman -I../../libraries/data_mananger -I../../libraries/data_mananger -I../../libraries/misc_cli -I../../libraries/build-misc_common-Desktop_Qt_5_9_1_GCC_64bit-Debug -I/opt/Qt5.9.1/5.9.1/gcc_64/include -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtWidgets -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtGui -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtNetwork -I/opt/Qt5.9.1/5.9.1/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I/opt/Qt5.9.1/5.9.1/gcc_64/mkspecs/linux-g++ -o main.o ../cli_gui/main.cpp
        In file included from ../cli_gui/cli_gui_log.h:13:0,
                         from ../cli_gui/cli_gui_main.h:12,
                         from ../cli_gui/main.cpp:3:
        ../../libraries/misc_cli/misc_cli.h:9:10: fatal error: misc_common.h: No such file or directory
         #include "misc_common.h"
                  ^~~~~~~~~~~~~~~
        compilation terminated.
        make: *** [Makefile:2098: main.o] Error 1
        23:22:03: The process "/usr/bin/make" exited with code 2.
        Error while building/deploying project cli_gui (kit: Desktop Qt 5.9.1 GCC 64bit)
        The kit Desktop Qt 5.9.1 GCC 64bit has configuration issues which might be the root cause for this problem.
        When executing step "Make"
        23:22:03: Elapsed time: 00:00.
        
        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          "misc_common.h" is located in the "misc_common" folder, no ? That's the one you have to add to your project.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved