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. Compilation problem on Qt c++ on mac os x 10.8.5
Forum Updated to NodeBB v4.3 + New Features

Compilation problem on Qt c++ on mac os x 10.8.5

Scheduled Pinned Locked Moved General and Desktop
26 Posts 4 Posters 9.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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #13

    Go the run panel in the Projects panel.

    If it's not there, add a DYLD_LIBRARY_PATH environment variable in the "Run environment" part and as value put the path to the folder containing libPvAPI.dylib (if it already exists, add the path to the current list)

    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
      studentvision
      wrote on last edited by
      #14

      thanks a lot,

      It is progressing. I got a new errors. I learned a lots today. I cleaned and rebuild my project but I got this error.

      @dyld: Symbol not found: __cg_jpeg_resync_to_restart
      Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
      Expected in: /opt/local/lib//libJPEG.dylib
      in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO@

      1 Reply Last reply
      0
      • S Offline
        S Offline
        studentvision
        wrote on last edited by
        #15

        Hello,

        I did some research on google, developers suggests that we have to avoid use DYLD_LIBRARY_PATH because there is dynamic-linking-conflict between different libjpeg dynamic libraries on OSX . ("Conflict between dynamic linking priority in OSX?":http://stackoverflow.com/questions/17643509/conflict-between-dynamic-linking-priority-in-osx)

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

          Indeed, that's why I generally ensure that common dependencies I might have between libraries comes from a common place

          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
            studentvision
            wrote on last edited by
            #17

            Hello,

            I resolved the problem by put the library given in the SDK on the project folder. But, really I can not why when I configure it like:

            @DYLD_LIBRARY_PATH=/opt/local/bin@ it did not work and I get an error like @dyld: Symbol not found: __cg_jpeg_resync_to_restart
            Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
            Expected in: /opt/local/lib//libJPEG.dylib
            in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO@
            but when I copied the library form /opt/local/bin to the project folder, it work fine ??!! Any explication please ?

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

              @DYLD_LIBRARY_PATH=/opt/local/bin@

              you are pointing to the bin folder, the dylibs are in

              @DYLD_LIBRARY_PATH=/opt/local/lib@

              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
                studentvision
                wrote on last edited by
                #19

                Hello,

                Sorry, I made a mistake in my last post.

                In fact, I put@ DYLD_LIBRARY_PATH=/opt/local/lib@ but it does not work but when I copied the library form /opt/local/lib to the project folder, it work fine ??!! Any explication please ?

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

                  Have a look at your application with otool -L you'll see what is linked.

                  Then you also have the search order which is important

                  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
                    studentvision
                    wrote on last edited by
                    #21

                    Hello,
                    I run this command

                    @otool -L main .o@
                    but I did not get any output ?

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

                      Not on main.o on the executable generated

                      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
                        studentvision
                        wrote on last edited by
                        #23

                        Hello,

                        I run @otool -L ListAllPrsilicaCameras@

                        I get these output:
                        @ListAllPrsilicaCameras:
                        libPvAPI.dylib (compatibility version 0.0.0, current version 0.0.0)
                        libPvJNI.dylib (compatibility version 0.0.0, current version 0.0.0)
                        /opt/local/lib/libjpeg.9.dylib (compatibility version 11.0.0, current version 11.0.0)
                        /Users/kifaraaouig/Qt/5.2.0/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.2.0, current version 5.2.0)
                        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
                        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)@
                        I remark that the problem is in
                        @libPvAPI.dylib@

                        When i put @DYLD_LIBRARY_PATH=/opt/local/lib@

                        I get the error mentioned earlier but when I changed it like:

                        @DYLD_LIBRARY_PATH=the project folder@

                        What is the problem ?

                        1 Reply Last reply
                        0
                        • hskoglundH Offline
                          hskoglundH Offline
                          hskoglund
                          wrote on last edited by
                          #24

                          Hi, welcome to Mac's version of DLL hell :-)

                          I think it's because your app's otool -L references /opt/local/lib/libjpeg.9.dylib and otool -L on Apple's ImageIO.Framework (the one that gave the error message on Page 1) references /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib.

                          When you use the copied DLLs in your project's folder, I think the ImageIO.Framework loads Apple's libpjpeg.dylib and all is ok, but maybe in /opt/local/lib there's a symbolic link called libpjpeg.dylib, so in that case ImageIO.Framework thinks /opt/local/lib's libpjpeg.dylib is kosher to use (and hence the error, because it's not).

                          Make sense? Anyway I think you need a more complete understanding exactly what dlls/dylibs are loaded. You can try with the lsof utility like this (first start your app and then open Terminal and type lsof -c and the first few letters of your app):
                          lsof -c ListA

                          Or lsof -c ListA | sort
                          (in this case it's useful with a big Terminal window :-)

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            sandy.martel
                            wrote on last edited by
                            #25

                            To trace what shared libraries get loaded in which order see:

                            @man dyld@

                            more precisely the variable DYLD_PRINT_LIBRARIES

                            in short:

                            @export DYLD_PRINT_LIBRARIES=1
                            /path/to/your/app
                            @

                            1 Reply Last reply
                            0
                            • S Offline
                              S Offline
                              studentvision
                              wrote on last edited by
                              #26

                              Hello,

                              At the end, it is impossible to fix that in the case of

                              @ DYLD_LIBRARY_PATH=/opt/local/lib@

                              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