Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. The C++ Compiler cannot run a simple test program
Forum Updated to NodeBB v4.3 + New Features

The C++ Compiler cannot run a simple test program

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
47 Posts 6 Posters 12.2k Views 1 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.
  • JonBJ JonB

    @Daemonitas
    I am dropping in on this thread rather late, so I may be missing something. But in the example you show works you use g++ as command, why are you using c++.exe in the stuff which fails?

    D Offline
    D Offline
    Daemonitas
    wrote on last edited by Daemonitas
    #20

    @JonB
    for the example that works I just copied what @cristian-adam told me to try out

    ill try using "c++"

    edit:
    1b8160ef-e275-4ab4-8163-5fcb2fe6c0d7-image.png
    it also works

    cristian-adamC JonBJ 2 Replies Last reply
    0
    • D Daemonitas

      @JonB
      for the example that works I just copied what @cristian-adam told me to try out

      ill try using "c++"

      edit:
      1b8160ef-e275-4ab4-8163-5fcb2fe6c0d7-image.png
      it also works

      cristian-adamC Offline
      cristian-adamC Offline
      cristian-adam
      wrote on last edited by
      #21

      @Daemonitas This means that the compiler is fine. Then I guess it's a CMake problem! 🤯

      Qt delivers CMake 3.24.2 from Kitware, you can get a newer version from https://github.com/Kitware/CMake/tags

      Unpack https://github.com/Kitware/CMake/releases/download/v3.26.3/cmake-3.26.3-windows-x86_64.zip somewhere on your disk, and use this new path for the PATH environment variable and try again from command line.

      Same thing with cmake --version to make sure you have the right version.

      🤞

      D 1 Reply Last reply
      0
      • D Daemonitas

        @JonB
        for the example that works I just copied what @cristian-adam told me to try out

        ill try using "c++"

        edit:
        1b8160ef-e275-4ab4-8163-5fcb2fe6c0d7-image.png
        it also works

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

        @Daemonitas
        Google for: detecting c++ compiler abi info failed (your first error message). There are quite a few hits. For example https://stackoverflow.com/questions/64438728/detecting-compiler-abi-failed-by-cmake has:

        There is a CMake project simple enough but not compiling at all with Visual Studio Code.

        Not same as you since you are MinGW, and that one is on Linux not Windows. But maybe there is a clue in the various hits?

        What about https://stackoverflow.com/questions/48141492/cmake-with-mingw-on-windows-10-detecting-cxx-compiler-abi-info-failed, that's MinGW?

        1 Reply Last reply
        0
        • cristian-adamC cristian-adam

          @Daemonitas This means that the compiler is fine. Then I guess it's a CMake problem! 🤯

          Qt delivers CMake 3.24.2 from Kitware, you can get a newer version from https://github.com/Kitware/CMake/tags

          Unpack https://github.com/Kitware/CMake/releases/download/v3.26.3/cmake-3.26.3-windows-x86_64.zip somewhere on your disk, and use this new path for the PATH environment variable and try again from command line.

          Same thing with cmake --version to make sure you have the right version.

          🤞

          D Offline
          D Offline
          Daemonitas
          wrote on last edited by Daemonitas
          #23

          @cristian-adam
          So I do this right?
          c298d862-11f9-4609-9dee-a6642e07f74b-image.png

          And this is after I disabled windows defender

          f7b2b3f0-3b86-40cc-84a3-0728392df105-image.png

          cristian-adamC O 2 Replies Last reply
          0
          • D Daemonitas

            @cristian-adam
            So I do this right?
            c298d862-11f9-4609-9dee-a6642e07f74b-image.png

            And this is after I disabled windows defender

            f7b2b3f0-3b86-40cc-84a3-0728392df105-image.png

            cristian-adamC Offline
            cristian-adamC Offline
            cristian-adam
            wrote on last edited by
            #24

            Rename the build directory to build-ninja and then try with -G "MinGW Makefiles".

            How does it fail, similar with ABI checks?

            This is bad enough to have it reported upstream at CMake https://gitlab.kitware.com/groups/cmake/-/issues

            With the content of those error logs 😔

            1 Reply Last reply
            0
            • cristian-adamC Offline
              cristian-adamC Offline
              cristian-adam
              wrote on last edited by cristian-adam
              #25

              As an alternative, you could open a cmd.exe and this time trying it out with Visual C++.

              For this you need to to have Qt for MSVC installed at c:\Qt\6.5.0\msvc2019_64.

              Then:

              set PATH=C:/Qt/Tools/CMake_64/bin;C:/Qt/6.5.0/msvc2019_64/bin;%PATH%
              $ cmake -S . -B build -DCMAKE_PREFIX_PATH=C:/Qt/6.5.0/msvc2019_64 
              $ cmake --build build --config Release
              

              This time no -G was passed, CMake will pick up the Visual Studio generator using msbuild.

              If this works, then you'll have to change the Generator in Qt Creator's Kits configuration for the Visual C++ kit.

              Edit: new cmd.exe window, so that no MinGW bits are preset in the PATH variable, CMake should pick cl.exe as before when it complained about the missing QT package.

              D 1 Reply Last reply
              0
              • cristian-adamC cristian-adam

                As an alternative, you could open a cmd.exe and this time trying it out with Visual C++.

                For this you need to to have Qt for MSVC installed at c:\Qt\6.5.0\msvc2019_64.

                Then:

                set PATH=C:/Qt/Tools/CMake_64/bin;C:/Qt/6.5.0/msvc2019_64/bin;%PATH%
                $ cmake -S . -B build -DCMAKE_PREFIX_PATH=C:/Qt/6.5.0/msvc2019_64 
                $ cmake --build build --config Release
                

                This time no -G was passed, CMake will pick up the Visual Studio generator using msbuild.

                If this works, then you'll have to change the Generator in Qt Creator's Kits configuration for the Visual C++ kit.

                Edit: new cmd.exe window, so that no MinGW bits are preset in the PATH variable, CMake should pick cl.exe as before when it complained about the missing QT package.

                D Offline
                D Offline
                Daemonitas
                wrote on last edited by
                #26

                @cristian-adam
                about the Visual Studio thing I also tried using the Qt extension in Visual Studio but when I tried to create a new Qt Widget Application it shows this
                764904cd-6c35-4078-986e-67305c1d091d-image.png

                cristian-adamC 1 Reply Last reply
                0
                • D Daemonitas

                  @cristian-adam
                  about the Visual Studio thing I also tried using the Qt extension in Visual Studio but when I tried to create a new Qt Widget Application it shows this
                  764904cd-6c35-4078-986e-67305c1d091d-image.png

                  cristian-adamC Offline
                  cristian-adamC Offline
                  cristian-adam
                  wrote on last edited by
                  #27

                  @Daemonitas Since I'm the maintainer of the CMake bits in Qt Creator I can't say much about the Visual Studio Qt plugin. A different colleague is responsible.

                  Since the Visual Studio experiment from a few posts passed the ABI check, it means that at least that generator works.

                  If you modify the generator to "Visual Studio" in the Qt 6.5.0 MSVC Kit like this:

                  visual-studio-generator-cmake.png

                  You should be able to to finally compile your application.

                  D 1 Reply Last reply
                  0
                  • cristian-adamC cristian-adam

                    @Daemonitas Since I'm the maintainer of the CMake bits in Qt Creator I can't say much about the Visual Studio Qt plugin. A different colleague is responsible.

                    Since the Visual Studio experiment from a few posts passed the ABI check, it means that at least that generator works.

                    If you modify the generator to "Visual Studio" in the Qt 6.5.0 MSVC Kit like this:

                    visual-studio-generator-cmake.png

                    You should be able to to finally compile your application.

                    D Offline
                    D Offline
                    Daemonitas
                    wrote on last edited by
                    #28

                    @cristian-adam
                    Untitled2.png
                    Here is the result in the "General Messages" tab

                    cristian-adamC 1 Reply Last reply
                    0
                    • D Daemonitas

                      @cristian-adam
                      Untitled2.png
                      Here is the result in the "General Messages" tab

                      cristian-adamC Offline
                      cristian-adamC Offline
                      cristian-adam
                      wrote on last edited by cristian-adam
                      #29

                      Since you have changed the generator in the Kit you would have to click in the Project settings on the "Re-configure with Initial Parameters" or just create a new project using this Kit.

                      The new project will get the right generator and should configure just fine 🙂

                      D 1 Reply Last reply
                      0
                      • cristian-adamC cristian-adam

                        Since you have changed the generator in the Kit you would have to click in the Project settings on the "Re-configure with Initial Parameters" or just create a new project using this Kit.

                        The new project will get the right generator and should configure just fine 🙂

                        D Offline
                        D Offline
                        Daemonitas
                        wrote on last edited by Daemonitas
                        #30

                        @cristian-adam
                        it somehow worked (?) in a way
                        f5058f0c-77f5-44fd-9bce-eab0b48f580f-image.png
                        it enables the build and run button but at the same time it can't build when i'm using the minGw kit but when I use the MSVC kit it shows a ton of errors
                        Untitled3.png
                        as shown here

                        Edit:
                        cb692b09-50b7-4969-86af-20e8003298cd-image.png
                        this is the output on the MinGW kit

                        cristian-adamC 1 Reply Last reply
                        0
                        • D Daemonitas

                          @cristian-adam
                          it somehow worked (?) in a way
                          f5058f0c-77f5-44fd-9bce-eab0b48f580f-image.png
                          it enables the build and run button but at the same time it can't build when i'm using the minGw kit but when I use the MSVC kit it shows a ton of errors
                          Untitled3.png
                          as shown here

                          Edit:
                          cb692b09-50b7-4969-86af-20e8003298cd-image.png
                          this is the output on the MinGW kit

                          cristian-adamC Offline
                          cristian-adamC Offline
                          cristian-adam
                          wrote on last edited by
                          #31

                          A MSVC Kit works with these generators:

                          • Ninja
                          • Visual Studio 17 2022
                          • NMake Makefiles
                          • NMake Makefiles - JOM

                          The MinGW Kit would work with these generators:

                          • Ninja
                          • MinGW Makefiles

                          You can't have a MinGW Kit working with a Visual Studio generator.

                          There is something broken on your PC. I'm running out of ideas.

                          D 1 Reply Last reply
                          0
                          • cristian-adamC cristian-adam

                            A MSVC Kit works with these generators:

                            • Ninja
                            • Visual Studio 17 2022
                            • NMake Makefiles
                            • NMake Makefiles - JOM

                            The MinGW Kit would work with these generators:

                            • Ninja
                            • MinGW Makefiles

                            You can't have a MinGW Kit working with a Visual Studio generator.

                            There is something broken on your PC. I'm running out of ideas.

                            D Offline
                            D Offline
                            Daemonitas
                            wrote on last edited by Daemonitas
                            #32

                            @cristian-adam
                            for the msvc kit it seems the error to be in just one line
                            " <Exec Command="%(PreBuildEvent.Command)$(_BuildSuffix)" StdOutEncoding="%(PreBuildEvent.StdOutEncoding)" StdErrEncoding="%(PreBuildEvent.StdErrEncoding)" Condition="'%(PreBuildEvent.Command)' != ''"/>"

                            If nothing works Ig I cant use Qt then

                            Edit:
                            i tried changing the generator to MinGW Makefiles in the MinGw kit and get this error

                            fd933b38-0ede-4206-8e35-b749e6552b66-image.png

                            1 Reply Last reply
                            0
                            • cristian-adamC Offline
                              cristian-adamC Offline
                              cristian-adam
                              wrote on last edited by
                              #33

                              You should check your global PATH environment variable.

                              At https://github.com/isl-org/Open3D/issues/2316 it's being mentioned:

                              Error MSB3073 is generally caused by an incorrect path in the command line

                              You can type in Qt Creator in the Locator field (press Ctrl+K):

                              ! cmd /c set PATH
                              

                              In the General Messages pane you should get the output. Maybe you can paste it here.

                              This could explain why so many command line tools are broken.

                              cristian-adamC 1 Reply Last reply
                              0
                              • cristian-adamC cristian-adam

                                You should check your global PATH environment variable.

                                At https://github.com/isl-org/Open3D/issues/2316 it's being mentioned:

                                Error MSB3073 is generally caused by an incorrect path in the command line

                                You can type in Qt Creator in the Locator field (press Ctrl+K):

                                ! cmd /c set PATH
                                

                                In the General Messages pane you should get the output. Maybe you can paste it here.

                                This could explain why so many command line tools are broken.

                                cristian-adamC Offline
                                cristian-adamC Offline
                                cristian-adam
                                wrote on last edited by
                                #34

                                On this Arm64 Laptop I have something like:

                                Starting command "cmd /c set PATH".
                                Path=C:\Projects\github\vcpkg;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Users\Cristian\AppData\Local\Programs\Python\Python311-arm64\Scripts\;C:\Users\Cristian\AppData\Local\Programs\Python\Python311-arm64\;C:\Users\Cristian\AppData\Local\Microsoft\WindowsApps;C:\Users\Cristian\AppData\Local\Microsoft\WinGet\Links;c:\Tools\cmake\bin;c:\Tools\ninja;c:\Tools\ccache;;C:\Users\Cristian\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Cristian\AppData\Local\Microsoft\WinGet\Packages\Microsoft.Sysinternals.ProcessExplorer_Microsoft.Winget.Source_8wekyb3d8bbwe;
                                PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
                                
                                The command "cmd /c set PATH" finished successfully.
                                

                                And for me all the things just work. Qt 6.5.0 with MSVC and MinGW.

                                D 1 Reply Last reply
                                0
                                • cristian-adamC cristian-adam

                                  On this Arm64 Laptop I have something like:

                                  Starting command "cmd /c set PATH".
                                  Path=C:\Projects\github\vcpkg;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Users\Cristian\AppData\Local\Programs\Python\Python311-arm64\Scripts\;C:\Users\Cristian\AppData\Local\Programs\Python\Python311-arm64\;C:\Users\Cristian\AppData\Local\Microsoft\WindowsApps;C:\Users\Cristian\AppData\Local\Microsoft\WinGet\Links;c:\Tools\cmake\bin;c:\Tools\ninja;c:\Tools\ccache;;C:\Users\Cristian\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Cristian\AppData\Local\Microsoft\WinGet\Packages\Microsoft.Sysinternals.ProcessExplorer_Microsoft.Winget.Source_8wekyb3d8bbwe;
                                  PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
                                  
                                  The command "cmd /c set PATH" finished successfully.
                                  

                                  And for me all the things just work. Qt 6.5.0 with MSVC and MinGW.

                                  D Offline
                                  D Offline
                                  Daemonitas
                                  wrote on last edited by Daemonitas
                                  #35

                                  @cristian-adam
                                  Path=C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Cloudflare\Cloudflare WARP;C:\Program Files\dotnet;C:\Program Files\Java\jdk-19\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Qt\Tools\QtCreator\bin;D:\MinGw\bin;C:\cmake-3.26.3-windows-x86_64\cmake-3.26.3-windows-x86_64\bin;C:\Users-redacted-\AppData\Local\Microsoft\WindowsApps;C:\Users-redacted-\Documents\MinGW\bin
                                  PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

                                  cristian-adamC 1 Reply Last reply
                                  0
                                  • D Daemonitas

                                    @cristian-adam
                                    Path=C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Cloudflare\Cloudflare WARP;C:\Program Files\dotnet;C:\Program Files\Java\jdk-19\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Qt\Tools\QtCreator\bin;D:\MinGw\bin;C:\cmake-3.26.3-windows-x86_64\cmake-3.26.3-windows-x86_64\bin;C:\Users-redacted-\AppData\Local\Microsoft\WindowsApps;C:\Users-redacted-\Documents\MinGW\bin
                                    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

                                    cristian-adamC Offline
                                    cristian-adamC Offline
                                    cristian-adam
                                    wrote on last edited by
                                    #36

                                    @Daemonitas said in The C++ Compiler cannot run a simple test program:

                                    @cristian-adam
                                    Path=C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Cloudflare\Cloudflare WARP;C:\Program Files\dotnet;C:\Program Files\Java\jdk-19\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Qt\Tools\QtCreator\bin;D:\MinGw\bin;C:\cmake-3.26.3-windows-x86_64\cmake-3.26.3-windows-x86_64\bin;C:\Users-redacted-\AppData\Local\Microsoft\WindowsApps;C:\Users-redacted-\Documents\MinGW\bin
                                    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

                                    I can't see anything that would break things 😔

                                    How does the MSVC Kit with NMake Makefiles JOM generator work?

                                    D 1 Reply Last reply
                                    0
                                    • cristian-adamC cristian-adam

                                      @Daemonitas said in The C++ Compiler cannot run a simple test program:

                                      @cristian-adam
                                      Path=C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Cloudflare\Cloudflare WARP;C:\Program Files\dotnet;C:\Program Files\Java\jdk-19\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Qt\Tools\QtCreator\bin;D:\MinGw\bin;C:\cmake-3.26.3-windows-x86_64\cmake-3.26.3-windows-x86_64\bin;C:\Users-redacted-\AppData\Local\Microsoft\WindowsApps;C:\Users-redacted-\Documents\MinGW\bin
                                      PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

                                      I can't see anything that would break things 😔

                                      How does the MSVC Kit with NMake Makefiles JOM generator work?

                                      D Offline
                                      D Offline
                                      Daemonitas
                                      wrote on last edited by Daemonitas
                                      #37

                                      @cristian-adam
                                      the build button was disabled again

                                      oops I accidentally marked it as solved

                                      D 1 Reply Last reply
                                      0
                                      • D Daemonitas has marked this topic as solved on
                                      • D Daemonitas has marked this topic as unsolved on
                                      • goldenhawkingG Offline
                                        goldenhawkingG Offline
                                        goldenhawking
                                        wrote on last edited by
                                        #38

                                        QMake sometimes is simpler than CMake for simple applications.

                                        Qt is the best C++ framework I've ever met.

                                        1 Reply Last reply
                                        0
                                        • D Daemonitas

                                          @cristian-adam
                                          the build button was disabled again

                                          oops I accidentally marked it as solved

                                          D Offline
                                          D Offline
                                          Daemonitas
                                          wrote on last edited by
                                          #39

                                          @Daemonitas
                                          f65d87ee-ebe6-4859-955f-fde729cdbbee-image.png
                                          I got this pop up now when compiling using the msvc kit

                                          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