VC++ 2005: Compiler-Fehler - C4D SDK



  • Hi,

    Vorab: Ich bin nicht so der Erfahrene C++ler, kann die Basics, programmiere aber ansonsten C#, VB, Perl u. JS (Bitte nicht hauen 😞 )

    Also, ich bin gerade dabei mit dem SDK für ein Programm namens "Cinema 4D" rumzuspielen, das ist für Visual C++ 2005 ausgelegt.
    Ich habe dazu ein PDF, in dem alle Basics stehen, die man dazu wissen muss u. wie man mit dem Entwickelt anfangen kann. Zum beispiel muss man vorher auch die Windows API installieren u. einige Verweise in den Optionen hinzufügen, was ich alles fleißig getan habe.
    Das PDF gibts hier: http://www.total3d.de/index.php?b=downs&wo=viewkat&kat=Visual,CPP,Dateien

    Nun bin ich bei dem Punkt angelangt, dass ich den Code des SDKs compilen muss, davon bekomme ich eine paar Dateien erstellt, darunter auch eine .cdl-Datei, welche ein Pluggin für das Programm Cinema 4D darstellt, das erste Pluggin wäre also somit fertig. Außerdem werden irgendwelche Debugginformationen erstellt, fragt mich bloß nicht was genau...

    Der Haken an der Geschichte ist jedoch, ich bekomme immer eine Fehlermeldung beim Erstellen (Compilen) des SDKs:

    2>   Bibliothek ".\./obj/x32/debug/cinema4dsdk.lib" und Objekt ".\./obj/x32/debug/cinema4dsdk.exp" werden erstellt.
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterGeneratorObject(void)" (?RegisterGeneratorObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterRenderingTag(void)" (?RegisterRenderingTag@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterStylingTag(void)" (?RegisterStylingTag@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterVideopost(void)" (?RegisterVideopost@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterShader(void)" (?RegisterShader@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterGrassObject(void)" (?RegisterGrassObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterConstraintObject(void)" (?RegisterConstraintObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterCollisionObject(void)" (?RegisterCollisionObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterForceObject(void)" (?RegisterForceObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl RegisterDeformerObject(void)" (?RegisterDeformerObject@@YAHXZ)" in Funktion ""int __cdecl PluginStart(void)" (?PluginStart@@YAHXZ)".
    2>cinema4dsdk.cdl : fatal error LNK1120: 10 nicht aufgelöste externe Verweise.
    

    Ich habe keine Ahnung was mir diese Fehler sagen wollen, aber ich bin zuversichtlich ihr Profis habt einen Tipp für mich, das wäre wirklich super!



  • Vermutlich hast du vergessen, die C4D-Libs in dein Projekt mit aufzunehmen (welche du brauchst, sollte bei einer guten Dokumentation eigentlich dabeistehen).



  • Also ein verweis zu der .lib von C4D ist schon gesetzt. Das sollte nicht das problem sein 😞



  • Offenbar doch: Der Fehler besagt, daß der Linker die angegebenen Funktionen nicht finden kann. Und das bedeutet entweder, daß du die Lib nicht richtig eingebunden hast, oder daß dein Programm und die Lib mit anderen Compiler-Optionen übersetzt wurden.



  • Also die C4D .lib is drinnen, da bin ich mir sicher.
    Wie kann ich die Windows SDK .lib einbinden?? Ich glaube die fehlt irgendwie noch. Gedownloadet habe ich das SDK.


Anmelden zum Antworten