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. adding dependencies to QT Project
Forum Update on Monday, May 27th 2025

adding dependencies to QT Project

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 3 Posters 2.0k 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.
  • S Offline
    S Offline
    sm2770s
    wrote on last edited by
    #1

    I have created an QT Widget Project, later i added extra cpp files and corresponding headers to this QT Project. Since I added extra source files and headers to this project, I also updated my .pro file with the following three additional lines

    LIBS += -lwsock32
    LIBS += -lws2_32
    LIBS +=  -lkernel32  -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
    

    I have added this because previously with added cpp files and header i built visual project so i copied all this from visual project.

    But while building the QT Project i am getting errors.
    The following error is being shown by qt for one of the cpp file which i added

    error: 'inet_pton' was not declared in this scope
      if (inet_pton(AF_UNSPEC, name, &ip) == 1)
                                        ^
    

    As per my understanding inet_pton comes from WS2tcpip.h and AF_UNSPEC comes from ws2def.h.

    The below dependencies are found from visual studio project

    wsock32.lib
    ws2_32.lib
    kernel32.lib
    user32.lib
    gdi32.lib
    winspool.lib
    shell32.lib
    ole32.lib
    oleaut32.lib
    uuid.lib
    comdlg32.lib
    advapi32.lib
    

    I am new to QT and also this is my first project in QT. I added this LIBS based on some of the forum previous questions but I am not sure where I am doing wrong?

    1 Reply Last reply
    0
    • Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      You have to include the correct header where the function is defined. Has nothing to do with linking later on.

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      S 1 Reply Last reply
      3
      • Christian EhrlicherC Christian Ehrlicher

        You have to include the correct header where the function is defined. Has nothing to do with linking later on.

        S Offline
        S Offline
        sm2770s
        wrote on last edited by
        #3

        @Christian-Ehrlicher Hi Christian. Thanks for your suggestion. To be clear you mean that i need to include those specific headers using INCLUDE in .Pro file?

        JonBJ 1 Reply Last reply
        0
        • Christian EhrlicherC Offline
          Christian EhrlicherC Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Since when do you add include files to the INCLUDE path?

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          S 1 Reply Last reply
          0
          • S sm2770s

            @Christian-Ehrlicher Hi Christian. Thanks for your suggestion. To be clear you mean that i need to include those specific headers using INCLUDE in .Pro file?

            JonBJ Offline
            JonBJ Offline
            JonB
            wrote on last edited by
            #5

            @sm2770s
            The error is an undefined function call while compiling. @Christian-Ehrlicher is talking about you requiring the necessary #include statement in your source file.

            1 Reply Last reply
            2
            • Christian EhrlicherC Christian Ehrlicher

              Since when do you add include files to the INCLUDE path?

              S Offline
              S Offline
              sm2770s
              wrote on last edited by sm2770s
              #6

              @Christian-Ehrlicher Sorry for not getting you.
              This is my .pro file

              
              QT       += core gui
              
              greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
              
              TARGET = Something
              TEMPLATE = app
              
              # The following define makes your compiler emit warnings if you use
              # any feature of Qt which has 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
              INCLUDEPATH += C:\TestRepos\Rep_Test\libs\eigen\include\eigen3\Eigen
              
              LIBS += -lwsock32
              LIBS += -lws2_32
              LIBS +=  -lkernel32 -lkernel32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
              
              
              SOURCES += \
                      main.cpp \
                      widget.cpp \
                  source1.cpp \
                  source2.cpp \
                  source3.cpp \
                  source4.cpp
              
              HEADERS += \
                      widget.h \
                  head1.h \
                  head2.h \
                  head3.hpp \
                  head4.hpp \
                  head5.hpp
              
              FORMS += \
                      widget.ui
              
              RESOURCES += \
                  resource.qrc
              

              I am not getting what you are saying. Sorry for being dumb :-(

              JonBJ 1 Reply Last reply
              0
              • S sm2770s

                @Christian-Ehrlicher Sorry for not getting you.
                This is my .pro file

                
                QT       += core gui
                
                greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
                
                TARGET = Something
                TEMPLATE = app
                
                # The following define makes your compiler emit warnings if you use
                # any feature of Qt which has 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
                INCLUDEPATH += C:\TestRepos\Rep_Test\libs\eigen\include\eigen3\Eigen
                
                LIBS += -lwsock32
                LIBS += -lws2_32
                LIBS +=  -lkernel32 -lkernel32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
                
                
                SOURCES += \
                        main.cpp \
                        widget.cpp \
                    source1.cpp \
                    source2.cpp \
                    source3.cpp \
                    source4.cpp
                
                HEADERS += \
                        widget.h \
                    head1.h \
                    head2.h \
                    head3.hpp \
                    head4.hpp \
                    head5.hpp
                
                FORMS += \
                        widget.ui
                
                RESOURCES += \
                    resource.qrc
                

                I am not getting what you are saying. Sorry for being dumb :-(

                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by
                #7

                @sm2770s
                Your reply has just crossed with mine above.

                S 1 Reply Last reply
                1
                • JonBJ JonB

                  @sm2770s
                  Your reply has just crossed with mine above.

                  S Offline
                  S Offline
                  sm2770s
                  wrote on last edited by sm2770s
                  #8

                  @JonB . I think i already added necessary include statement in source file where i am having Problems. I am not sure if you are saying this :-). But I will also go through code and needed documentaion once. Thanks for giving some insights will do some homework on it then comeback again and will update solution if i found one.

                  #include "head2.h"
                  
                  #include <cstdlib>
                  #include <cstdio>
                  #include <cstring>
                  
                  
                  #if defined(_WIN32) || defined(WIN32) || defined(_WIN64)
                  	#define OS_WIN  
                  #else
                  	#define OS_UNIX  
                  #endif
                  
                  #ifdef OS_UNIX
                  	#include <unistd.h>
                  	#include <netdb.h>
                  	#include <sys/socket.h>
                  	#include <sys/time.h>
                  	#include <netinet/in.h>
                  	#include <arpa/inet.h>
                  #endif
                  #ifdef OS_WIN
                  	#include <ws2tcpip.h>
                  	#include <winsock2.h>
                  	#include <windows.h>
                  #endif
                  
                  JonBJ 1 Reply Last reply
                  0
                  • S sm2770s

                    @JonB . I think i already added necessary include statement in source file where i am having Problems. I am not sure if you are saying this :-). But I will also go through code and needed documentaion once. Thanks for giving some insights will do some homework on it then comeback again and will update solution if i found one.

                    #include "head2.h"
                    
                    #include <cstdlib>
                    #include <cstdio>
                    #include <cstring>
                    
                    
                    #if defined(_WIN32) || defined(WIN32) || defined(_WIN64)
                    	#define OS_WIN  
                    #else
                    	#define OS_UNIX  
                    #endif
                    
                    #ifdef OS_UNIX
                    	#include <unistd.h>
                    	#include <netdb.h>
                    	#include <sys/socket.h>
                    	#include <sys/time.h>
                    	#include <netinet/in.h>
                    	#include <arpa/inet.h>
                    #endif
                    #ifdef OS_WIN
                    	#include <ws2tcpip.h>
                    	#include <winsock2.h>
                    	#include <windows.h>
                    #endif
                    
                    JonBJ Offline
                    JonBJ Offline
                    JonB
                    wrote on last edited by JonB
                    #9

                    @sm2770s
                    Either your reference to inet_pton lies in some file other than the one you show, or you should read e.g. https://stackoverflow.com/questions/15660203/inet-pton-identifier-not-found and compare the answers there to your exact situation (e.g. check your WINVER). Actually, I believe the accepted solution there might be saying you need #include <arpa/inet.h>, even though you are Windows not Linux, but have a read and see what you think.

                    S 1 Reply Last reply
                    0
                    • JonBJ JonB

                      @sm2770s
                      Either your reference to inet_pton lies in some file other than the one you show, or you should read e.g. https://stackoverflow.com/questions/15660203/inet-pton-identifier-not-found and compare the answers there to your exact situation (e.g. check your WINVER). Actually, I believe the accepted solution there might be saying you need #include <arpa/inet.h>, even though you are Windows not Linux, but have a read and see what you think.

                      S Offline
                      S Offline
                      sm2770s
                      wrote on last edited by sm2770s
                      #10

                      @JonB said in adding dependencies to QT Project:

                      Either your reference to inet_pton lies in some file other than the one you show, or you should read e.g. https://stackoverflow.com/questions/15660203/inet-pton-identifier-not-found and compare the answers there to your exact situation (e.g. check your WINVER). Actually, I believe the accepted solution there might be saying you need #include <arpa/inet.h>, even though you are Windows not Linux, but have a read and see what you think.

                      Hi Jon! I am not sure but it was built successfully when i restarted my system. I am clueless what happened but it worked when i restarted. Even I tried to reproduce the error but till now not successful in reproducing error again.

                      JonBJ 1 Reply Last reply
                      0
                      • S sm2770s

                        @JonB said in adding dependencies to QT Project:

                        Either your reference to inet_pton lies in some file other than the one you show, or you should read e.g. https://stackoverflow.com/questions/15660203/inet-pton-identifier-not-found and compare the answers there to your exact situation (e.g. check your WINVER). Actually, I believe the accepted solution there might be saying you need #include <arpa/inet.h>, even though you are Windows not Linux, but have a read and see what you think.

                        Hi Jon! I am not sure but it was built successfully when i restarted my system. I am clueless what happened but it worked when i restarted. Even I tried to reproduce the error but till now not successful in reproducing error again.

                        JonBJ Offline
                        JonBJ Offline
                        JonB
                        wrote on last edited by
                        #11

                        @sm2770s
                        Well this really isn't an error message which should appear/disappear on system restart!

                        Anyway, yes, mark topic as solved (either from Topic Tools at bottom, or mark your own reply post above as the "solution"). You can always re-open it if it occurs again soon.

                        S 1 Reply Last reply
                        0
                        • JonBJ JonB

                          @sm2770s
                          Well this really isn't an error message which should appear/disappear on system restart!

                          Anyway, yes, mark topic as solved (either from Topic Tools at bottom, or mark your own reply post above as the "solution"). You can always re-open it if it occurs again soon.

                          S Offline
                          S Offline
                          sm2770s
                          wrote on last edited by
                          #12

                          @JonB Ya! The error shouldnt go but i dont know what happened. I will close this issue as of now and this weekend i will try to reproduce then will update my comment later.

                          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