Library not loaded

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Library not loaded

    hi!

    ich hab versucht das Programm, an dem ich gerade arbeite auf einem fremden Mac zu starten, was es aber nicht tat. Als error-message ist gekommen:

    Quellcode

    1. Library not loaded: libboost_serialization-xgcc40-mt-1_38.dylib
    2. Referenced from: /Users/username/Desktop/axes.app/Contents/MacOS/axes
    3. Reason: image not found


    Ich habe aber nur die statische Variante (.a) überhaupt gegen mein Projekt-Target gelinked (und per build phase kopiert, Im Bundle ist sie auch im Ordner: Framework).

    Jetzt hab ich halt auch noch die .dylib gelinked, und kopiert, was aber nichts an der Fehlermeldung ändert.

    weiß nicht, warum mein Programm die lib nicht findet. Ich versteh auch nicht, warum er sich wegen der dylib aufregt, aber nicht über die .a.

    Danke für eure Hilfe!

    lg.
  • Wenn du eine statische Lib verwendest brauchst du sie nicht in das Bundle kopieren. sie ist ja schon in deinem Code.
    Wenn du beim linken die statische und dynamische Lib im gleichen Verzeichnis hast wird die dynamische Lib bevorzugt. Korrigiert mich bitte wenn da nicht mehr so ist.
    Du kannst mit otool -l überprüfen welche Libs woher geladen werden.
    Eventuell stimmt der install_path deiner dylib nicht.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • ich hab jetzt mal die dylib wieder rausgetan, und nur gegen die statische gelinkt (was in xcode auf meinem mac auch super funktioniert). Jetzt hab ich mit otools -l geschaut, was alles geladen wird, und xcode läd tatsächlich die dylib.

    Ich hab sie aber aus dem verzeichnis geschmissen, aus linked libraries auch. Wo kommt die her? Bzw. wo kann ich sie entgültig entfernen?

    lg.
  • ich hab gecleant. ändert nix am problem.

    Ich hab mir auch anzeigen lassen, was gelinkt wird -> libboost_serialization-xgcc40-mt-1_38.dylib
    doch anscheinend wird die aus usr/local/lib geladen, und nicht aus axes.app/Content/Frameworks.

    Ich schaff es aber nicht, dass daraus geladen wird.

    Oder bin ich da grad voll auf dem flaschen Weg?