help - Compiler Fehlermeldung

joedelord

joedelord

Aktives Mitglied
Thread Starter
Dabei seit
12.12.2002
Beiträge
492
Reaktionspunkte
0
hallo macuser

ich entwickle gerade ein kleines spiel, bin noch ganz am anfang und habe immer diese eine felermeldung:

/usr/lib/crt1.o illegal reference to symbol: __objcInit defined in indirectly referenced dynamic library /usr/lib/libobjc.A.dylib

ich verwende mac osx 10.2.irgendwas und den letzten aktuellen pb fuer 10.2, der ganze code ist in c++ geschrieben.

vielleicht kann mir wer helfen, joedelord
 
Hört sich für mich so an, als wenn Du eine Methode oder Eigenschaft einer Klasse nutzt, die nicht richtig referenziert werden kann... kannst Du Source posten ?
 
danke fuer die antwort.
es koennte an den glut befehlen liegen die ich verwende. ich habe alles andere auskommentiert und sobald auch die glut initialisierung weg ist ist auch der felher weg. quellcode kann ich hoffentlich bald posten, wenn das netzwerk wieder will.

danke, joedelord
 
Re: latex

so hier der quellcode
main.h:
PHP:
#ifndef MAIN_H
#define MAIN_H

GLvoid initGL(GLvoid);
GLvoid drawGLScene(GLvoid);
GLvoid resizeGLScene(int width, int heigth);

#endif

main.cpp
PHP:
#include <iostream>
#include <fstream>

#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>

#include <main.h>
#include <storageUnit.h>

#define kWindowWidth 400
#define kWindowHeight 300


int main (int argc, const char * argv[]) {
    
    glutInit(&argc, argv);
    glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize (kWindowWidth, kWindowHeight);
    glutInitWindowPosition (100, 100);
    glutCreateWindow (argv[0]);

    initGL();

    glutDisplayFunc(drawGLScene);
    glutReshapeFunc(resizeGLScene);

    glutMainLoop();
das habe ich so 1:1 von dem NeHe opengl tut abgeschrieben
 
Unter Mac OS X ist GLUT in Objective-C implementiert. Du hast jedoch offenbar die Obj-C-Runtime-Libs nicht in dein Projekt eingebunden, deswegen meckert der Linker.

Füge z.B. mal das Foundation-Framework zu deinem Projekt hinzu (/System/Library/Frameworks/Foundation.framework), es enthält unter anderem diese Libs.
 
danke fuer die hilfe, werde es gleich morgen ausprobieren, wenn ich all die vielen anderen probleme geloset habe, und ich beim kompilieren wieder bis zum linker komme.

danke, joedelord
 
die erste linker fehlermeldung konnte ich mit dem foundation framework beseitigen, jedoch habe ich jetzt eine neue:
Code:
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
drawGLScene()
resizeGLScene(int, int)
initGL()

wie kann ich das beseitigen? in meinem projekt ist jetzt nur noch die main.cpp und die main.h. kein andere code, nichts :(
 
problem geloest, hab es verabsaeumt besagte funktionen auch zu definieren. jetzt funzt's... so halbwegs

danke, joedelord
 
Zurück
Oben Unten