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. Qt Creator error “No such file or directory” when using boost in mongocxx
Forum Updated to NodeBB v4.3 + New Features

Qt Creator error “No such file or directory” when using boost in mongocxx

Scheduled Pinned Locked Moved Solved General and Desktop
28 Posts 7 Posters 3.4k Views 2 Watching
  • 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 SimonR
    24 Apr 2020, 18:10

    I'm writing an application in Qt and want to add the mongocxx driver to access data in my db. I've added the libs and header files using LIBS and INCLUDEPATH. Now, mongocxx also requires boost. But now I get the error: C:\mongo-cxx-driver-3.4.1\include\bsoncxx\v_noabi\bsoncxx\stdx\string_view.hpp:40: error: boost/version.hpp: No such file or directory #include <boost/version.hpp>. When I include the file in main.cpp, everything works fine. What should I do?

    My .pro file:

    QT += quick
    
    CONFIG += c++17
    
    DEFINES += QT_DEPRECATED_WARNINGS
    
    SOURCES += \
            main.cpp \
            signIn.cpp \
            signUp.cpp
    
    INCLUDEPATH += C:\mongo-cxx-driver-3.4.1\include\bsoncxx\v_noabi \ C:\mongo-cxx-driver-3.4.1\include\mongocxx\v_noabi \ D:\boost_1_72_0
    
    RESOURCES += qml.qrc
    
    TRANSLATIONS += \
        LogIn_en_CA.ts
    
    QML_IMPORT_PATH =
    
    QML_DESIGNER_IMPORT_PATH =
    
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target
    
    HEADERS += \
        signIn.h \
        signUp.h
    
    LIBS += C:\mongo-cxx-driver-3.4.1\lib\bsoncxx.lib \ C:\mongo-cxx-driver-3.4.1\lib\mongocxx.lib
    
    P Offline
    P Offline
    Pablo J. Rogina
    wrote on 25 Apr 2020, 13:46 last edited by
    #5

    @SimonR

    No such file or directory #include <boost/version.hpp>.

    I guess you need to provide INCLUDEPATH with a path that points to a place where you can later finder a subfolder boost which insides has a file version.hpp

    So since you provide D:/boost_1_72_0 does it hold there?
    I mean is your folder structure like this?:

    D:
    |---boost_1_72_0
        |---boost
            |---version.hpp
    

    Upvote the answer(s) that helped you solve the issue
    Use "Topic Tools" button to mark your post as Solved
    Add screenshots via postimage.org
    Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

    1 Reply Last reply
    1
    • S Offline
      S Offline
      SimonR
      wrote on 25 Apr 2020, 14:17 last edited by
      #6

      @Pablo-J-Rogina
      Yes, my folder structure looks excactly like you discribed it. The strange thing is that when I include it in the main file,
      it doesn't cause any errors. I've set up an test application in Visual Studio and everything works fine there.

      A 1 Reply Last reply 25 Apr 2020, 14:24
      0
      • S SimonR
        25 Apr 2020, 14:17

        @Pablo-J-Rogina
        Yes, my folder structure looks excactly like you discribed it. The strange thing is that when I include it in the main file,
        it doesn't cause any errors. I've set up an test application in Visual Studio and everything works fine there.

        A Offline
        A Offline
        aha_1980
        Lifetime Qt Champion
        wrote on 25 Apr 2020, 14:24 last edited by
        #7

        @SimonR

        What happens if you fix your include path?

        INCLUDEPATH += C:/mongo-cxx-driver-3.4.1/include/bsoncxx/v_noabi \ 
              C:/mongo-cxx-driver-3.4.1/include/mongocxx/v_noabi \ 
              D:/boost_1_72_0
        

        Also, please show the compile output line leading to this error so we can check the flags passed to the compiler.

        Qt has to stay free or it will die.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SimonR
          wrote on 25 Apr 2020, 15:38 last edited by SimonR
          #8

          Strange, it's compiling now. But when I try to access a database using

          mongocxx::instance inst{
          mongocxx::client conn{ mongocxx::uri{"connection string goes here"} };
          bsoncxx::builder::stream::document document{};
          

          , I get lots of errors. I think these are linking errors.

          d8ca774c-eef3-492d-8fdb-f49314a757f9-image.png

          Please excuse that I ask a lot, but I'm new to Qt Creator.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 25 Apr 2020, 18:36 last edited by
            #9

            Hi,

            Are you sure that the libraries are of the correct architecture and built by the same compiler ?

            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
            • S Offline
              S Offline
              SimonR
              wrote on 26 Apr 2020, 09:24 last edited by
              #10

              The compiler used for building the driver was MSVC, so that might be an issue because Qt Creator uses MinGW. How can I change the compiler?

              M 1 Reply Last reply 26 Apr 2020, 09:26
              0
              • S SimonR
                26 Apr 2020, 09:24

                The compiler used for building the driver was MSVC, so that might be an issue because Qt Creator uses MinGW. How can I change the compiler?

                M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 26 Apr 2020, 09:26 last edited by
                #11

                @SimonR
                Hi
                Use Qt maintenance tool to install the visual studio version of Qt for 2017/2019 32/64 VS
                and then go and download the compiler from Microsoft site.

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SimonR
                  wrote on 26 Apr 2020, 10:56 last edited by
                  #12

                  @mrjj
                  Can you please provide me better guide how to change the compiler? I've looked it up in the internet but I haven't found anything useful. Ans can I still compile QML applications with MSVC?

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 26 Apr 2020, 12:12 last edited by
                    #13

                    Well: go to the Microsoft website, download the Visual Studio installer, then execute it.

                    As for Qt Quick, the compiler has no role here. As long as you have the modules built, it will work.

                    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
                    • S Offline
                      S Offline
                      SimonR
                      wrote on 26 Apr 2020, 12:50 last edited by
                      #14

                      So, I have Visual Studio now, anything else I have to do? The compiler is still MinGW.

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on 26 Apr 2020, 12:52 last edited by
                        #15

                        As @mrjj already suggested, did you install the MSVC build of Qt ?

                        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
                        • S Offline
                          S Offline
                          SimonR
                          wrote on 26 Apr 2020, 13:33 last edited by
                          #16

                          When I open Qt Maintenance Tool, it looks like this:
                          38cedf62-5358-438d-b3b4-0e3f8b27bcfd-image.png

                          J 1 Reply Last reply 27 Apr 2020, 05:13
                          0
                          • S SimonR
                            26 Apr 2020, 13:33

                            When I open Qt Maintenance Tool, it looks like this:
                            38cedf62-5358-438d-b3b4-0e3f8b27bcfd-image.png

                            J Offline
                            J Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on 27 Apr 2020, 05:13 last edited by
                            #17

                            @SimonR Did you select Kit configured for MSVC compiler/Qt to build you project?

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              SimonR
                              wrote on 27 Apr 2020, 06:09 last edited by SimonR
                              #18

                              I've selected the right compiler now,
                              40fa38e3-8282-4101-ad3d-f6958120265c-image.png
                              but when I try to run the program, I get an error.
                              1f000937-a8e5-4c5e-8ff6-d61d251da9d9-image.png
                              When I open the kits section, it shows some warnings:
                              07d09771-b8c0-44aa-aa74-d29089de6514-image.png
                              Is this normal? Or do I have to set up something else? Also, I found out that you can change it compiler, but it only shows amd64 and x86 architecture. I have an Intel processor, can I still use the amd64 because I haven't found the right settings for Intel processors?
                              b812af3a-963f-4931-8966-50c00457d3e6-image.png

                              J 1 Reply Last reply 27 Apr 2020, 07:09
                              0
                              • S SimonR
                                27 Apr 2020, 06:09

                                I've selected the right compiler now,
                                40fa38e3-8282-4101-ad3d-f6958120265c-image.png
                                but when I try to run the program, I get an error.
                                1f000937-a8e5-4c5e-8ff6-d61d251da9d9-image.png
                                When I open the kits section, it shows some warnings:
                                07d09771-b8c0-44aa-aa74-d29089de6514-image.png
                                Is this normal? Or do I have to set up something else? Also, I found out that you can change it compiler, but it only shows amd64 and x86 architecture. I have an Intel processor, can I still use the amd64 because I haven't found the right settings for Intel processors?
                                b812af3a-963f-4931-8966-50c00457d3e6-image.png

                                J Offline
                                J Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on 27 Apr 2020, 07:09 last edited by
                                #19

                                @SimonR Run it through debugger - looks like it is crashing.

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                1 Reply Last reply
                                1
                                • S Offline
                                  S Offline
                                  SimonR
                                  wrote on 27 Apr 2020, 10:05 last edited by
                                  #20

                                  So I've set up the compiler now, but when I run the application I get errors:
                                  4ba8dbb8-adb6-4ec1-9dec-bce6b42e8574-image.png

                                  I don't know why the language is German, because it's set to English. But as far as I know, those errors are linking errors, so I guess the libraries are not included correctly.

                                  Here is my .pro file:

                                  QT += quick
                                  
                                  CONFIG += c++17
                                  
                                  DEFINES += QT_DEPRECATED_WARNINGS
                                  
                                  SOURCES += \
                                          main.cpp \
                                          signIn.cpp \
                                          signUp.cpp
                                  
                                  INCLUDEPATH += C:/mongo-cxx-driver-3.4.1/include/bsoncxx/v_noabi \
                                                 C:/mongo-cxx-driver-3.4.1/include/mongocxx/v_noabi \
                                                 D:/boost_1_72_0
                                  
                                  RESOURCES += qml.qrc
                                  
                                  TRANSLATIONS += \
                                      LogIn_en_CA.ts
                                  
                                  QML_IMPORT_PATH =
                                  
                                  QML_DESIGNER_IMPORT_PATH =
                                  
                                  qnx: target.path = /tmp/$${TARGET}/bin
                                  else: unix:!android: target.path = /opt/$${TARGET}/bin
                                  !isEmpty(target.path): INSTALLS += target
                                  
                                  HEADERS += \
                                      signIn.h \
                                      signUp.h
                                  
                                  LIBS += -LC:/mongo-cxx-driver-3.4.1/lib -lbsoncxx \
                                          -LC:/mongo-cxx-driver-3.4.1/lib -lmongocxx
                                  
                                  J 1 Reply Last reply 27 Apr 2020, 10:11
                                  0
                                  • S SimonR
                                    27 Apr 2020, 10:05

                                    So I've set up the compiler now, but when I run the application I get errors:
                                    4ba8dbb8-adb6-4ec1-9dec-bce6b42e8574-image.png

                                    I don't know why the language is German, because it's set to English. But as far as I know, those errors are linking errors, so I guess the libraries are not included correctly.

                                    Here is my .pro file:

                                    QT += quick
                                    
                                    CONFIG += c++17
                                    
                                    DEFINES += QT_DEPRECATED_WARNINGS
                                    
                                    SOURCES += \
                                            main.cpp \
                                            signIn.cpp \
                                            signUp.cpp
                                    
                                    INCLUDEPATH += C:/mongo-cxx-driver-3.4.1/include/bsoncxx/v_noabi \
                                                   C:/mongo-cxx-driver-3.4.1/include/mongocxx/v_noabi \
                                                   D:/boost_1_72_0
                                    
                                    RESOURCES += qml.qrc
                                    
                                    TRANSLATIONS += \
                                        LogIn_en_CA.ts
                                    
                                    QML_IMPORT_PATH =
                                    
                                    QML_DESIGNER_IMPORT_PATH =
                                    
                                    qnx: target.path = /tmp/$${TARGET}/bin
                                    else: unix:!android: target.path = /opt/$${TARGET}/bin
                                    !isEmpty(target.path): INSTALLS += target
                                    
                                    HEADERS += \
                                        signIn.h \
                                        signUp.h
                                    
                                    LIBS += -LC:/mongo-cxx-driver-3.4.1/lib -lbsoncxx \
                                            -LC:/mongo-cxx-driver-3.4.1/lib -lmongocxx
                                    
                                    J Offline
                                    J Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on 27 Apr 2020, 10:11 last edited by
                                    #21

                                    @SimonR Looks like you're not linking properly against mongocxx. Which compiler was used to build those libraries and are they 32bit or 64bit?

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    1
                                    • S Offline
                                      S Offline
                                      SimonR
                                      wrote on 27 Apr 2020, 12:58 last edited by
                                      #22

                                      I've played with the setting a bit and now, it compiles, but it doesn't run and shows an error:
                                      200de448-d179-49ab-88a2-548f494b1f64-image.png

                                      And when it try do run the debugger, it also shows an error:
                                      bf60b637-3af4-462b-83a2-97be35929eb7-image.png

                                      J 1 Reply Last reply 27 Apr 2020, 13:15
                                      0
                                      • S SimonR
                                        27 Apr 2020, 12:58

                                        I've played with the setting a bit and now, it compiles, but it doesn't run and shows an error:
                                        200de448-d179-49ab-88a2-548f494b1f64-image.png

                                        And when it try do run the debugger, it also shows an error:
                                        bf60b637-3af4-462b-83a2-97be35929eb7-image.png

                                        J Offline
                                        J Offline
                                        jsulm
                                        Lifetime Qt Champion
                                        wrote on 27 Apr 2020, 13:15 last edited by
                                        #23

                                        @SimonR The last error says what is wrong and what needs to be done

                                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        1 Reply Last reply
                                        2
                                        • S Offline
                                          S Offline
                                          SimonR
                                          wrote on 27 Apr 2020, 16:06 last edited by SimonR
                                          #24

                                          So, i can compile the project now with MSVC, but when I try to make an connection using

                                          mongocxx::instance inst{};
                                          mongocxx::client conn{ mongocxx::uri{"my connection string"} };
                                          bsoncxx::builder::stream::document document{};
                                          

                                          it throws the same error as before:
                                          ea7b3506-a3a1-45be-9308-b87dce103316-image.png
                                          When I delete the libs part in the .pro file, it works again and keeps working, until I include the libs again and try to use something from mongocxx.

                                          1 Reply Last reply
                                          0

                                          14/28

                                          26 Apr 2020, 12:50

                                          • Login

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