Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Special Interest Groups
  3. Independent Developers
  4. math function failing
Forum Update on Monday, May 27th 2025

math function failing

Scheduled Pinned Locked Moved Unsolved Independent Developers
18 Posts 4 Posters 2.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.
  • G Offline
    G Offline
    goswami
    wrote on last edited by
    #7

    I exactly could not understand what you meant by environment. Yes mine is ubuntu 20.04.4, Qt creator 7.0.2, cmake 3.21.1. gcc by default 64bit. The builder is being used 'ninja' by default. I found users faced problem with math.h linking. However I am not getting any problem if I make a simple program as reported by those users. However error is same undefined reference. Incidentally the application is C and hence std:: is not acceptable. I am better providing the content of CMakeLists.txt file for your ready reference below

    cmake_minimum_required (VERSION 3.7)
    set (MODEL_NAME Bool_Multi)
    project (Bool_Multi LANGUAGES C)
    add_executable(app
    include/fmi2Functions.h
    include/fmi2FunctionTypes.h
    include/fmi2TypesPlatform.h
    src/bool_multi.c
    Bool_Multi/sources/all.c
    )
    target_include_directories(app PUBLIC
    include
    Bool_Multi/sources
    )

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

      From the looks of it, you are not linking to the math library.

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

      G 1 Reply Last reply
      0
      • SGaistS SGaist

        From the looks of it, you are not linking to the math library.

        G Offline
        G Offline
        goswami
        wrote on last edited by
        #9

        @SGaist Yes but why so is not clear. Single file with math.h is working OK. Where the linker related setting and how it can be fixed is my question.

        1 Reply Last reply
        0
        • mrjjM mrjj

          Hi
          -Can anybody throw some light why the same is happening despite math.h is included in the same file?

          Well if you are not on the same platform, it can be that Cmake cant find the math lib to link against.

          • . Is there anyway to know what to do if no response is given in the forum?

          There are other coding places to ask also. Like StackOverflow.
          But make sure you write good questions as it's impossible to help if clear information is not
          provided.

          But normally we do answer most questions here :)

          G Offline
          G Offline
          goswami
          wrote on last edited by
          #10

          @mrjj it is linking time problem undestood but do not know how to fix it in Qt. Single file with #include<math.h> is working alright. Pl. advise if any other sources to explore for the solution.

          JonBJ 1 Reply Last reply
          0
          • G goswami

            @mrjj it is linking time problem undestood but do not know how to fix it in Qt. Single file with #include<math.h> is working alright. Pl. advise if any other sources to explore for the solution.

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

            @goswami
            Please show the linker line being executed. So far as I am aware, linking with math library is achieved via -lm option.

            G 1 Reply Last reply
            2
            • JonBJ JonB

              @goswami
              Please show the linker line being executed. So far as I am aware, linking with math library is achieved via -lm option.

              G Offline
              G Offline
              goswami
              wrote on last edited by
              #12

              @JonB I am using Qt IDE with cmake for building. Following code is working alright
              #include <stdio.h>
              #include <math.h>
              int main()
              {
              printf("Hello World!=%f\n",pow(2.0,2.0));
              return 0;
              }

              And CMakeLists.txt content is as below
              cmake_minimum_required(VERSION 3.5)
              project(untitled1 LANGUAGES C)
              add_executable(untitled1 main.c)

              I do not know how to check linker option in Qt IDE. This is reasonably big project and impossible to go for command line building.

              JonBJ 1 Reply Last reply
              0
              • G goswami

                @JonB I am using Qt IDE with cmake for building. Following code is working alright
                #include <stdio.h>
                #include <math.h>
                int main()
                {
                printf("Hello World!=%f\n",pow(2.0,2.0));
                return 0;
                }

                And CMakeLists.txt content is as below
                cmake_minimum_required(VERSION 3.5)
                project(untitled1 LANGUAGES C)
                add_executable(untitled1 main.c)

                I do not know how to check linker option in Qt IDE. This is reasonably big project and impossible to go for command line building.

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

                @goswami said in math function failing:

                I do not know how to check linker option in Qt IDE

                Did you try looking in the Build Output pane? I don't know, that would be my guess. And I don't know about cmake so I'll leave you with others to respond.

                G 1 Reply Last reply
                0
                • JonBJ JonB

                  @goswami said in math function failing:

                  I do not know how to check linker option in Qt IDE

                  Did you try looking in the Build Output pane? I don't know, that would be my guess. And I don't know about cmake so I'll leave you with others to respond.

                  G Offline
                  G Offline
                  goswami
                  wrote on last edited by
                  #14

                  @JonB Thanks for trying to help.

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #15
                    target_link_libraries(untitled1 m)
                    

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

                    G 1 Reply Last reply
                    2
                    • SGaistS SGaist
                      target_link_libraries(untitled1 m)
                      
                      G Offline
                      G Offline
                      goswami
                      wrote on last edited by
                      #16

                      @SGaist said in math function failing:

                      target_link_libraries(untitled1 m)

                      Many thanks all math.h related errors have gone and the application is giving output. Can you throw some light why the same is not failing when only one file with math.h include is there? Another as it is appearing all #include of libraries are not creating problem. Is it system dependant viz. may compile in one environment but fail in somewhere?
                      I am really grateful over the efforts you have put to help me out of this crisis which became a serious bottleneck for progress to next stage.

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

                        It depends on the library and what is used of them.

                        Some are header only, some are template based so it really depends on what you use from these and how they are implemented. It's usually not tied to a specific OS.

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

                        G 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          It depends on the library and what is used of them.

                          Some are header only, some are template based so it really depends on what you use from these and how they are implemented. It's usually not tied to a specific OS.

                          G Offline
                          G Offline
                          goswami
                          wrote on last edited by
                          #18

                          @SGaist Thank you very much for updating me.

                          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