undefined Symbole Undefined symbols for architecture x86_64: "_kCFAllocatorDefault"
Ich versuche zu kompilieren sind einige Sachen unter mac os 10.7 in eclipse und das erstellen von Werkzeugen an:
Undefined symbols for architecture x86_64:
"_kCFAllocatorDefault", referenced from:
___GLeeGetProcAddress in GLee.o
"_CFURLCreateWithFileSystemPath", referenced from:
___GLeeGetProcAddress in GLee.o
"_CFStringCreateWithCString", referenced from:
___GLeeGetProcAddress in GLee.o
"_CFBundleCreate", referenced from:
___GLeeGetProcAddress in GLee.o
"_CFBundleGetFunctionPointerForName", referenced from:
___GLeeGetProcAddress in GLee.o
"_CFRelease", referenced from:
___GLeeGetProcAddress in GLee.o
"_glGetString", referenced from:
___GLeeGetExtensions in GLee.o
_GLeeGetExtStrGL in GLee.o
_GLeeInit in GLee.o
(maybe you meant: _GLee_Lazy_glGetStringi, _GLeeFuncPtr_glGetStringi )
"___CFConstantStringClassReference", referenced from:
CFString in GLee.o
Also ich kenne das problem mit der ld-Symbole. Nun ich versuchte es mit einem Projekt Anstand und hinzufügen -framework CoreFramework auf die Parameter der g++ und gcc in eclipse aber nicht beheben kann.
Wo sind diese Symbole befinden, und-noch wichtiger - wie füge ich Sie in mein Projekt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich behoben, indem ein .dylib zu linker. Wie es eingerichtet?
Hier ist, wo der schwierige Teil ist... ich fand heraus, durch "try-error" - Methode, wie das funktioniert:
Können sagen, Sie haben eine dylib-Datei, die Sie hinzufügen möchten, genannt "libMyLib.dylib" befindet sich in /opt/local/lib/MyLibrary
Teil der Fenster, wo es sagt, Bibliotheken Zeile hinzufügen
"MyLib"
Teil der Fenster, wo es sagt, Library search path-Zeile hinzufügen
"/opt/local/lib/MyLibrary/"
=> eclipse automatisch, dies zu tun:
1. add "lib" vor dem string
2. hinzufügen ".dylib" nach Ihrem string
Dort kommt ein weiteres problem mit Mac... Können sagen, Sie verwenden Symbole aus CoreFoundation-framework. Mac OS frameworks sind wesentlich dylibs mit header-Dateien ..., Wenn Sie nicht sicher sind, können Sie immer überprüfen, indem Sie "Datei " myFile"
Das problem ist, dass eclipse wird nie richtig pick-up auf diejenigen, die dylibs von MAC-OS-SDK /System/Library/Frameworks/Ursache Sie haben nicht die .dylib Hinzugefügt. Der trick ist, einfach zu gehen, wo die dylib liegt (obwohl es nicht über eine .dylib in seinem Namen) z.B.
cd /System/Library/Frameworks/CoreFoundation.Rahmen
die Datei, und kopieren und fügen Sie dylib (NICHT UMBENENNEN!!!)
Können Sie die framework-option
z.B. g++ -framework CoreFoundation ..........