Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

1

20.03.2007, 20:35

[CEGUI] Linkerfehler

Hallo!!!
Ich habe ein Problem mit der CEGUI. Egal welchen Code ich eingebe es gibt immer so um die 10 Linkerfehler. Aktuell lautet der Code so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Dieses programm erstellt eine Umfrage

#include <CEGUI.h>
#include <Irrlicht.h>
#include <IrrlichtRenderer.h>
#include "CEGUIDefaultResourceProvider.h"
#include "CEGUIConfig.h"
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
using namespace CEGUI;
IrrlichtDevice*         device;
IVideoDriver*           driver;
ISceneManager*          smgr;
IrrlichtRenderer*       renderer;

int main()
{
    device = createDevice( video::EDT_SOFTWARE2, dimension2d<s32>(640, 480), 16, false, false, false, 0);
    device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo");
    device->getCursorControl()->setVisible(false);
    device->getVideoDriver()->setTextureCreationFlag(irr::video::ETCF_ALWAYS_32_BIT,true);
    device->getVideoDriver()->setTextureCreationFlag(irr::video::ETCF_ALWAYS_16_BIT,false);
    device->getVideoDriver()->setTextureCreationFlag(irr::video::ETCF_CREATE_MIP_MAPS,false);
    device->getVideoDriver()->setTextureCreationFlag(irr::video::ETCF_OPTIMIZED_FOR_QUALITY,true);
    
    driver = device->getVideoDriver();
    smgr = device->getSceneManager();
    
    renderer = new IrrlichtRenderer(device, false);
    new System(renderer);

     // initialise the required dirs for the ResourceProvider

    DefaultResourceProvider* rp = static_cast<CEGUI::DefaultResourceProvider*>
        (System::getSingleton().getResourceProvider());

    rp->setResourceGroupDirectory("schemes", "datafiles/schemes/");
    rp->setResourceGroupDirectory("imagesets", "datafiles/imagesets/");
    rp->setResourceGroupDirectory("fonts", "datafiles/fonts/");
    rp->setResourceGroupDirectory("layouts", "datafiles/layouts/");
    rp->setResourceGroupDirectory("looknfeels", "datafiles/looknfeel/");
    rp->setResourceGroupDirectory("lua_scripts", "datafiles/lua_scripts/");

    Imageset* taharezImages = ImagesetManager::getSingleton().createImageset("TaharezLook.imageset");
    System::getSingleton().setDefaultMouseCursor(&taharezImages->getImage("MouseArrow"));
    WidgetLookManager::getSingleton().parseLookNFeelSpecification("TaharezLook.looknfeel");
    SchemeManager::getSingleton().loadScheme("TaharezLookWidgets.scheme");
    WindowManager& winMgr = WindowManager::getSingleton();
    DefaultWindow* root = (DefaultWindow*)winMgr.createWindow("DefaultWindow", "Root");
    System::getSingleton().setGUISheet(root);
    FrameWindow* wnd = (FrameWindow*)winMgr.createWindow("TaharezLook/FrameWindow", "Demo Window");
    root->addChildWindow(wnd);
     wnd->setPosition(UVector2(cegui_reldim(0.25f), cegui_reldim( 0.25f)));
    wnd->setSize(UVector2(cegui_reldim(0.5f), cegui_reldim( 0.5f)));
    wnd->setMaxSize(UVector2(cegui_reldim(1.0f), cegui_reldim( 1.0f)));
    wnd->setMinSize(UVector2(cegui_reldim(0.1f), cegui_reldim( 0.1f)));
    wnd->setText("Hello World!");
    
    ICameraSceneNode* camera = smgr->addCameraSceneNode(0, vector3df(0,0,0), vector3df(0,0,1));
    camera->setFOV(1.56f);
    driver->setAmbientLight(SColor(255,255,255,255));
    
    return 1;
}


Hier die Fehler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall CEGUI::Window::setMinSize(class CEGUI::UVector2 const &)" (__imp_?setMinSize@Window@CEGUI@@QAEXABVUVector2@2@@Z)" in Funktion "_main".
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall CEGUI::Window::setMaxSize(class CEGUI::UVector2 const &)" (__imp_?setMaxSize@Window@CEGUI@@QAEXABVUVector2@2@@Z)" in Funktion "_main".
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall CEGUI::Window::setSize(class CEGUI::UVector2 const &)" (__imp_?setSize@Window@CEGUI@@QAEXABVUVector2@2@@Z)" in Funktion "_main".
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall CEGUI::Window::setPosition(class CEGUI::UVector2 const &)" (__imp_?setPosition@Window@CEGUI@@QAEXABVUVector2@2@@Z)" in Funktion "_main".
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: void __thiscall CEGUI::DefaultResourceProvider::setResourceGroupDirectory(class CEGUI::String const &,class CEGUI::String const &)" (__imp_?setResourceGroupDirectory@DefaultResourceProvider@CEGUI@@QAEXABVString@2@0@Z)" in Funktion "_main".
Umfrage.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: __thiscall CEGUI::System::System(class CEGUI::Renderer *,class CEGUI::ResourceProvider *,class CEGUI::XMLParser *,class CEGUI::ScriptModule *,class CEGUI::String const &,class CEGUI::String const &)" (__imp_??0System@CEGUI@@QAE@PAVRenderer@1@PAVResourceProvider@1@PAVXMLParser@1@PAVScriptModule@1@ABVString@1@4@Z)" in Funktion "_main".
Umfrage.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual class CEGUI::RefCounted<class CEGUI::BoundSlot> __thiscall CEGUI::EventSet::subscribeEvent(class CEGUI::String const &,unsigned int,class CEGUI::SubscriberSlot)" (?subscribeEvent@EventSet@CEGUI@@UAE?AV?$RefCounted@VBoundSlot@CEGUI@@@2@ABVString@2@IVSubscriberSlot@2@@Z)".
Umfrage.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual class CEGUI::RefCounted<class CEGUI::BoundSlot> __thiscall CEGUI::EventSet::subscribeEvent(class CEGUI::String const &,class CEGUI::SubscriberSlot)" (?subscribeEvent@EventSet@CEGUI@@UAE?AV?$RefCounted@VBoundSlot@CEGUI@@@2@ABVString@2@VSubscriberSlot@2@@Z)".
Umfrage.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual class CEGUI::RefCounted<class CEGUI::BoundSlot> __thiscall CEGUI::EventSet::subscribeScriptedEvent(class CEGUI::String const &,unsigned int,class CEGUI::String const &)" (?subscribeScriptedEvent@EventSet@CEGUI@@UAE?AV?$RefCounted@VBoundSlot@CEGUI@@@2@ABVString@2@I0@Z)".
Umfrage.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual class CEGUI::RefCounted<class CEGUI::BoundSlot> __thiscall CEGUI::EventSet::subscribeScriptedEvent(class CEGUI::String const &,class CEGUI::String const &)" (?subscribeScriptedEvent@EventSet@CEGUI@@UAE?AV?$RefCounted@VBoundSlot@CEGUI@@@2@ABVString@2@0@Z)".
C:\Dokumente und Einstellungen\Frederik\Eigene Dateien\Visual Studio 2005\Projects\Umfrage\Debug\Umfrage.exe : fatal error LNK1120: 10 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Frederik\Eigene Dateien\Visual Studio 2005\Projects\Umfrage\Umfrage\Debug\BuildLog.htm" gespeichert.
Umfrage - 11 Fehler, 0 Warnung(en)


Ich verstehe nicht warum. Egtl. ist alles gelinkt, was nötig ist.
Das steht inder corewin Datei:

Quellcode

1
Irrlicht.lib IrrlichtRenderer.lib IrrlichtRenderer_d.lib CEGUIBase.lib CEGUIBase_d.lib

Muss ich noch mehr linken? Hoffe auf Hilfe!

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

20.03.2007, 21:43

Das sollten alle Libs sein. Hast du möglicherweise gegen veraltete Libaries gelinkt? Kann zB passieren, wenn du dir die neuste Version von CEGUI runterlädst und davon die Header einbindest, aber die Libaries linkst, die mit Irrlicht geliefert werden (falls da schon CEGUI libs bei sind).