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 Updated to NodeBB v4.3 + New Features

adding dependencies to QT Project

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 3 Posters 2.2k 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 5 Feb 2021, 08:16 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
    • C Offline
      C Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on 5 Feb 2021, 08:23 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 5 Feb 2021, 08:26
      3
      • C Christian Ehrlicher
        5 Feb 2021, 08:23

        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 5 Feb 2021, 08:26 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?

        J 1 Reply Last reply 5 Feb 2021, 08:38
        0
        • C Offline
          C Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on 5 Feb 2021, 08:28 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 5 Feb 2021, 08:38
          0
          • S sm2770s
            5 Feb 2021, 08:26

            @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?

            J Offline
            J Offline
            JonB
            wrote on 5 Feb 2021, 08:38 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
            • C Christian Ehrlicher
              5 Feb 2021, 08:28

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

              S Offline
              S Offline
              sm2770s
              wrote on 5 Feb 2021, 08:38 last edited by sm2770s 2 May 2021, 08:39
              #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 :-(

              J 1 Reply Last reply 5 Feb 2021, 08:39
              0
              • S sm2770s
                5 Feb 2021, 08:38

                @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 :-(

                J Offline
                J Offline
                JonB
                wrote on 5 Feb 2021, 08:39 last edited by
                #7

                @sm2770s
                Your reply has just crossed with mine above.

                S 1 Reply Last reply 5 Feb 2021, 08:48
                1
                • J JonB
                  5 Feb 2021, 08:39

                  @sm2770s
                  Your reply has just crossed with mine above.

                  S Offline
                  S Offline
                  sm2770s
                  wrote on 5 Feb 2021, 08:48 last edited by sm2770s 2 May 2021, 08:53
                  #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
                  
                  J 1 Reply Last reply 5 Feb 2021, 08:56
                  0
                  • S sm2770s
                    5 Feb 2021, 08:48

                    @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
                    
                    J Offline
                    J Offline
                    JonB
                    wrote on 5 Feb 2021, 08:56 last edited by JonB 2 May 2021, 09:03
                    #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 5 Feb 2021, 10:26
                    0
                    • J JonB
                      5 Feb 2021, 08:56

                      @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 5 Feb 2021, 10:26 last edited by sm2770s 2 May 2021, 10:34
                      #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.

                      J 1 Reply Last reply 5 Feb 2021, 10:32
                      0
                      • S sm2770s
                        5 Feb 2021, 10:26

                        @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.

                        J Offline
                        J Offline
                        JonB
                        wrote on 5 Feb 2021, 10:32 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 5 Feb 2021, 10:36
                        0
                        • J JonB
                          5 Feb 2021, 10:32

                          @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 5 Feb 2021, 10:36 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

                          3/12

                          5 Feb 2021, 08:26

                          topic:navigator.unread, 9
                          • Login

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