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. Cannot find <library path>: Permission Denied
Forum Updated to NodeBB v4.3 + New Features

Cannot find <library path>: Permission Denied

Scheduled Pinned Locked Moved Unsolved General and Desktop
32 Posts 5 Posters 7.6k 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.
  • L Laner107

    @SGaist Yes it is I built it using x64 native tools vs command prompt and took the .lib and .include folders from the build, and i posted the errors below the code,

    The errors are "undefined reference to 'imp_curl_easy_init' and 'imp_curl_easy_setop'" any idea why this would be?

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #7

    @Laner107 said in Cannot find <library path>: Permission Denied:

    any idea why this would be?

    Either these functions are not in the lib you're linking or the lib is not found/not compatible.
    Do you now use -lcurl instead of -llibcurl ?

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

    L 1 Reply Last reply
    0
    • jsulmJ jsulm

      @Laner107 said in Cannot find <library path>: Permission Denied:

      any idea why this would be?

      Either these functions are not in the lib you're linking or the lib is not found/not compatible.
      Do you now use -lcurl instead of -llibcurl ?

      L Offline
      L Offline
      Laner107
      wrote on last edited by
      #8

      @jsulm No because the filename is libcurl? And this code is straight from github so I know it should work.

      jsulmJ 1 Reply Last reply
      0
      • L Laner107

        @jsulm No because the filename is libcurl? And this code is straight from github so I know it should work.

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #9

        @Laner107 said in Cannot find <library path>: Permission Denied:

        No because the filename is libcurl?

        It doesn't matter, when using -l you do not specify the prefix (lib) and you do not specify file name extension (dll, so). At least it is like this on UNIX/Linux.

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

        L 1 Reply Last reply
        0
        • jsulmJ jsulm

          @Laner107 said in Cannot find <library path>: Permission Denied:

          No because the filename is libcurl?

          It doesn't matter, when using -l you do not specify the prefix (lib) and you do not specify file name extension (dll, so). At least it is like this on UNIX/Linux.

          L Offline
          L Offline
          Laner107
          wrote on last edited by
          #10

          @jsulm So now its saying, "cannot find -lcurl" so i assume for windows we keep the actual name? And if its not that do you have any idea why it would be giving me the undefined errors even though they are in the library, and how do i know if its not compaitable?

          jsulmJ 1 Reply Last reply
          0
          • L Laner107

            @jsulm So now its saying, "cannot find -lcurl" so i assume for windows we keep the actual name? And if its not that do you have any idea why it would be giving me the undefined errors even though they are in the library, and how do i know if its not compaitable?

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #11

            @Laner107 said in Cannot find <library path>: Permission Denied:

            And if its not that do you have any idea why it would be giving me the undefined errors even though they are in the library

            I already wrote that this is either:

            • Those functions are not in that lib, or
            • The lib is not found, or
            • The lib is not compatible (built with different compiler or for different architecture)

            Can you post the whole build log?

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

            L 1 Reply Last reply
            2
            • jsulmJ jsulm

              @Laner107 said in Cannot find <library path>: Permission Denied:

              And if its not that do you have any idea why it would be giving me the undefined errors even though they are in the library

              I already wrote that this is either:

              • Those functions are not in that lib, or
              • The lib is not found, or
              • The lib is not compatible (built with different compiler or for different architecture)

              Can you post the whole build log?

              L Offline
              L Offline
              Laner107
              wrote on last edited by
              #12

              @jsulm Is this the log you are looking for?

              14:55:14: Running steps for project AlgoApplicationUI...
              14:55:14: Configuration unchanged, skipping qmake step.
              14:55:14: Starting: "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -j8
              C:/Qt/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
              mingw32-make[1]: Entering directory 'C:/Users/laner/Documents/GitHub/AlgoApp/Program/QT UI/AlgoApplicationUI'
              g++ -Wl,-subsystem,windows -mthreads -o debug\AlgoApplicationUI.exe debug/MainWindow.o debug/login.o debug/main.o debug/webscrapper.o debug/qrc_res.o debug/moc_MainWindow.o debug/moc_login.o  -LC:\Users\laner\Documents\GitHub\AlgoApp\Program\Libraries\curl-7.69.1\x64Release\lib -llibcurl C:\Qt\5.14.2\mingw73_64\lib\libQt5Charts.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Widgets.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Gui.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Core.a debug\myapp_res.o.txt  -lmingw32 C:\Qt\5.14.2\mingw73_64\lib\libqtmain.a -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-winx64\lib -LC:\Utils\postgresql\pgsql\lib -lshell32 
              debug/MainWindow.o: In function `CurlObj::CurlObj(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:37: undefined reference to `__imp_curl_easy_init'
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:42: undefined reference to `__imp_curl_easy_setopt'
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:43: undefined reference to `__imp_curl_easy_setopt'
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:44: undefined reference to `__imp_curl_easy_setopt'
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:45: undefined reference to `__imp_curl_easy_setopt'
              C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:46: undefined reference to `__imp_curl_easy_perform'
              collect2.exe: error: ld returned 1 exit status
              mingw32-make[1]: *** [Makefile.Debug:84: debug/AlgoApplicationUI.exe] Error 1
              mingw32-make: *** [Makefile:45: debug] Error 2
              mingw32-make[1]: Leaving directory 'C:/Users/laner/Documents/GitHub/AlgoApp/Program/QT UI/AlgoApplicationUI'
              14:55:16: The process "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" exited with code 2.
              Error while building/deploying project AlgoApplicationUI (kit: Desktop Qt 5.14.2 MinGW 64-bit)
              When executing step "Make"
              
              JonBJ 1 Reply Last reply
              0
              • L Laner107

                @jsulm Is this the log you are looking for?

                14:55:14: Running steps for project AlgoApplicationUI...
                14:55:14: Configuration unchanged, skipping qmake step.
                14:55:14: Starting: "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -j8
                C:/Qt/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
                mingw32-make[1]: Entering directory 'C:/Users/laner/Documents/GitHub/AlgoApp/Program/QT UI/AlgoApplicationUI'
                g++ -Wl,-subsystem,windows -mthreads -o debug\AlgoApplicationUI.exe debug/MainWindow.o debug/login.o debug/main.o debug/webscrapper.o debug/qrc_res.o debug/moc_MainWindow.o debug/moc_login.o  -LC:\Users\laner\Documents\GitHub\AlgoApp\Program\Libraries\curl-7.69.1\x64Release\lib -llibcurl C:\Qt\5.14.2\mingw73_64\lib\libQt5Charts.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Widgets.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Gui.a C:\Qt\5.14.2\mingw73_64\lib\libQt5Core.a debug\myapp_res.o.txt  -lmingw32 C:\Qt\5.14.2\mingw73_64\lib\libqtmain.a -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-winx64\lib -LC:\Utils\postgresql\pgsql\lib -lshell32 
                debug/MainWindow.o: In function `CurlObj::CurlObj(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:37: undefined reference to `__imp_curl_easy_init'
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:42: undefined reference to `__imp_curl_easy_setopt'
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:43: undefined reference to `__imp_curl_easy_setopt'
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:44: undefined reference to `__imp_curl_easy_setopt'
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:45: undefined reference to `__imp_curl_easy_setopt'
                C:\Users\laner\Documents\GitHub\AlgoApp\Program\QT UI\AlgoApplicationUI/MainWindow.cpp:46: undefined reference to `__imp_curl_easy_perform'
                collect2.exe: error: ld returned 1 exit status
                mingw32-make[1]: *** [Makefile.Debug:84: debug/AlgoApplicationUI.exe] Error 1
                mingw32-make: *** [Makefile:45: debug] Error 2
                mingw32-make[1]: Leaving directory 'C:/Users/laner/Documents/GitHub/AlgoApp/Program/QT UI/AlgoApplicationUI'
                14:55:16: The process "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" exited with code 2.
                Error while building/deploying project AlgoApplicationUI (kit: Desktop Qt 5.14.2 MinGW 64-bit)
                When executing step "Make"
                
                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by JonB
                #13

                @Laner107
                Every example on the web (gcc) uses -lcurl, not -llibcurl. I don't think that would change for Windows, unless you have something which says that? It concerns me you say that generates "cannot find -lcurl". Do you want to tell us what exactly there is in C:\Users\laner\Documents\GitHub\AlgoApp\Program\Libraries\curl-7.69.1\x64Release\lib that looks something like libcurl.a?

                L 1 Reply Last reply
                0
                • JonBJ JonB

                  @Laner107
                  Every example on the web (gcc) uses -lcurl, not -llibcurl. I don't think that would change for Windows, unless you have something which says that? It concerns me you say that generates "cannot find -lcurl". Do you want to tell us what exactly there is in C:\Users\laner\Documents\GitHub\AlgoApp\Program\Libraries\curl-7.69.1\x64Release\lib that looks something like libcurl.a?

                  L Offline
                  L Offline
                  Laner107
                  wrote on last edited by
                  #14

                  @JonB Pictures of my folder explorer as well as descriptions

                  JonBJ 1 Reply Last reply
                  0
                  • L Laner107

                    @JonB Pictures of my folder explorer as well as descriptions

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

                    @Laner107
                    You don't have file extensions visible (!), but that looks like a .lib file to me, where I was expecting a .a. I think mingw now links against *.lib files, and that might be where the difference bewteen -lcurl vs -llibcurl comes from.

                    This is getting beyond my pay-grade. Wherever it came from, it's for gcc/mingw, not for msvc, is it? Did you build it or download it? Did the instructions relate to using msvc or mingw as the compiler/linker? I don't have the answers, just thoughts for you....

                    L 1 Reply Last reply
                    0
                    • JonBJ JonB

                      @Laner107
                      You don't have file extensions visible (!), but that looks like a .lib file to me, where I was expecting a .a. I think mingw now links against *.lib files, and that might be where the difference bewteen -lcurl vs -llibcurl comes from.

                      This is getting beyond my pay-grade. Wherever it came from, it's for gcc/mingw, not for msvc, is it? Did you build it or download it? Did the instructions relate to using msvc or mingw as the compiler/linker? I don't have the answers, just thoughts for you....

                      L Offline
                      L Offline
                      Laner107
                      wrote on last edited by
                      #16

                      @JonB I built it but im sure I got something messed up with the building of it, is there a suitable way to build libraries using QT or what would you recomend me doing to get this library to work?

                      JonBJ 1 Reply Last reply
                      0
                      • L Laner107

                        @JonB I built it but im sure I got something messed up with the building of it, is there a suitable way to build libraries using QT or what would you recomend me doing to get this library to work?

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

                        @Laner107
                        As I said, I don't know this stuff, I'm only guessing. I'll have to leave it for others to help.

                        My last quick test thought is: try recompiling your application sources (not the curl ones) with -DCURL_STATICLIB flag, and then relink. This may be nonsense or may make no difference. Worth a try. Then I'm afraid I'm bowing out.

                        L 1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          MrShawn
                          wrote on last edited by
                          #18

                          Usually when linking libs in .pro files with the -l, I don't have good luck. To get it to work a lot of times I will link the lib file itself.

                          Here is an example of what I mean.

                          INCLUDEPATH += "$$PWD/vlc-qt/include"
                          
                          LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtQml.dll"
                          LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtCore.dll"
                          

                          This will build but I have issues when I run. I usually have to copy the .dlls into the application's build directory (the same folder as the .exe file that is built).

                          L 2 Replies Last reply
                          0
                          • M MrShawn

                            Usually when linking libs in .pro files with the -l, I don't have good luck. To get it to work a lot of times I will link the lib file itself.

                            Here is an example of what I mean.

                            INCLUDEPATH += "$$PWD/vlc-qt/include"
                            
                            LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtQml.dll"
                            LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtCore.dll"
                            

                            This will build but I have issues when I run. I usually have to copy the .dlls into the application's build directory (the same folder as the .exe file that is built).

                            L Offline
                            L Offline
                            Laner107
                            wrote on last edited by
                            #19

                            @JonB Its okay i thank you for the help!!

                            @MrShawn I am quite new to the idea of building and using libraries, I notice there is an actuall folder for the libraries under mingw, I decided to store my one library im using in its own folder someone else, will this effect anything or should i keep it in mingw folder? And also where can i find the .dll files for my library i built as i can only find the .lib file and include folder?

                            1 Reply Last reply
                            0
                            • M MrShawn

                              Usually when linking libs in .pro files with the -l, I don't have good luck. To get it to work a lot of times I will link the lib file itself.

                              Here is an example of what I mean.

                              INCLUDEPATH += "$$PWD/vlc-qt/include"
                              
                              LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtQml.dll"
                              LIBS += "$$PWD/vlc-qt/libs/mingw64/libVLCQtCore.dll"
                              

                              This will build but I have issues when I run. I usually have to copy the .dlls into the application's build directory (the same folder as the .exe file that is built).

                              L Offline
                              L Offline
                              Laner107
                              wrote on last edited by
                              #20

                              @MrShawn It also appear under my build settings that the build configuration is Debug and the make is a mingw32-make.exe, so does that mean my library is suppose to be a debug .lib that is also x32 instead of x64? This is all quite overwhelming and confusing and sorry if Im being a hassle.

                              jsulmJ 1 Reply Last reply
                              0
                              • JonBJ JonB

                                @Laner107
                                As I said, I don't know this stuff, I'm only guessing. I'll have to leave it for others to help.

                                My last quick test thought is: try recompiling your application sources (not the curl ones) with -DCURL_STATICLIB flag, and then relink. This may be nonsense or may make no difference. Worth a try. Then I'm afraid I'm bowing out.

                                L Offline
                                L Offline
                                Laner107
                                wrote on last edited by
                                #21

                                @JonB ALso where do i input the -DCURL_STATICLIB flag at? And do i need to download .dll files and put them into the mingw folder or since its a static library is it okay?

                                1 Reply Last reply
                                0
                                • L Laner107

                                  @MrShawn It also appear under my build settings that the build configuration is Debug and the make is a mingw32-make.exe, so does that mean my library is suppose to be a debug .lib that is also x32 instead of x64? This is all quite overwhelming and confusing and sorry if Im being a hassle.

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #22

                                  @Laner107 said in Cannot find <library path>: Permission Denied:

                                  suppose to be a debug .lib that is also x32 instead of x64?

                                  It needs to be the same as your app. If you build your app for 32 bit then the lib must be 32bit, if you build for 64bit then the build must be 64bit. You can't mix. Also, if you build in release mode then use the lib build in release mode.

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

                                  L 1 Reply Last reply
                                  0
                                  • jsulmJ jsulm

                                    @Laner107 said in Cannot find <library path>: Permission Denied:

                                    suppose to be a debug .lib that is also x32 instead of x64?

                                    It needs to be the same as your app. If you build your app for 32 bit then the lib must be 32bit, if you build for 64bit then the build must be 64bit. You can't mix. Also, if you build in release mode then use the lib build in release mode.

                                    L Offline
                                    L Offline
                                    Laner107
                                    wrote on last edited by
                                    #23

                                    @jsulm I actually ended up doing that now everything matches, but it says in documentation since im doing a static library i am suppose to put CURL_STATICLIB, i just cant find out where, here is the documentation.

                                    Building your own application with a static libcurl

                                    When building an application that uses the static libcurl library on Windows,
                                    you must define CURL_STATICLIB. Otherwise the linker will look for dynamic
                                    import symbols.

                                    jsulmJ 1 Reply Last reply
                                    0
                                    • L Laner107

                                      @jsulm I actually ended up doing that now everything matches, but it says in documentation since im doing a static library i am suppose to put CURL_STATICLIB, i just cant find out where, here is the documentation.

                                      Building your own application with a static libcurl

                                      When building an application that uses the static libcurl library on Windows,
                                      you must define CURL_STATICLIB. Otherwise the linker will look for dynamic
                                      import symbols.

                                      jsulmJ Offline
                                      jsulmJ Offline
                                      jsulm
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #24

                                      @Laner107 In your top pro file add:

                                      DEFINES += CURL_STATICLIB
                                      

                                      https://doc.qt.io/qt-5/qmake-language.html

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

                                      L 1 Reply Last reply
                                      0
                                      • jsulmJ jsulm

                                        @Laner107 In your top pro file add:

                                        DEFINES += CURL_STATICLIB
                                        

                                        https://doc.qt.io/qt-5/qmake-language.html

                                        L Offline
                                        L Offline
                                        Laner107
                                        wrote on last edited by
                                        #25

                                        @jsulm Now im getting 500+ errors from the ipv6-winssl folder and objects

                                        jsulmJ 1 Reply Last reply
                                        0
                                        • L Laner107

                                          @jsulm Now im getting 500+ errors from the ipv6-winssl folder and objects

                                          jsulmJ Offline
                                          jsulmJ Offline
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #26

                                          @Laner107 Most probably some other libraries are missing

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

                                          L 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