Moin zusammen,
ich sitze nun schon einige Zeit vor einem Problem und komme einfach nicht weiter. Das Problem ist nicht ganz einfach zu erklären, aber ich versuche es mal.
Es geht zunächst um libnoise: http://libnoise.sourceforge.net/index.html
Ich möchte diese Bibliothek verwenden und zusätzlich noiseutils (beides ist auf der Seite zum herunterladen vorhanden).
Nun bringt libnoise gleich eine Projektdatei für das VS mit sich und das funktioniert auch soweit. Ich möchte auch noiseutils verwenden, daher habe ich es einfach mal zu dem Projekt hinzugefügt. Das kompiliert auch soweit.
Nun möchte ich diese lib in einer weiteren, von mir geschrieben lib verwenden, dafür binde ich dort einige Header ein, auch hier gibt es noch keine Probleme.
Wenn ich aber nun versuche die exe zu linken (ich habe sowohl libnoise als auch meine eigene lib zum linken eingetragen) erhalte ich eine Reihe unaufgelöster Symbole, z. B.
Interessant dabei ist, dass sich die Linkerfehler ausschließlich auf noise::utils beziehen. Ich hatte versuchsweise einmal noiseutils direkt zu meinem Projekt (my) hinzugefügt, dann traten keine Probleme auf. Versuche ich das aber nun auf eine .dll "auszulagern", treten diese Probleme auf.
Wer sich die Frage stellt: Ja, und warum auslagern, wenn anders funktioniert? Der Grund liegt in der Lizenz.
Wäre echt sehr dankbar, wenn mir jemand helfen könnte, habe schon lange dran gesessen, recherchiert, aber bin nicht weitergekommen.
Gruß,
badday
ich sitze nun schon einige Zeit vor einem Problem und komme einfach nicht weiter. Das Problem ist nicht ganz einfach zu erklären, aber ich versuche es mal.
Es geht zunächst um libnoise: http://libnoise.sourceforge.net/index.html
Ich möchte diese Bibliothek verwenden und zusätzlich noiseutils (beides ist auf der Seite zum herunterladen vorhanden).
Nun bringt libnoise gleich eine Projektdatei für das VS mit sich und das funktioniert auch soweit. Ich möchte auch noiseutils verwenden, daher habe ich es einfach mal zu dem Projekt hinzugefügt. Das kompiliert auch soweit.
Nun möchte ich diese lib in einer weiteren, von mir geschrieben lib verwenden, dafür binde ich dort einige Header ein, auch hier gibt es noch keine Probleme.
Wenn ich aber nun versuche die exe zu linken (ich habe sowohl libnoise als auch meine eigene lib zum linken eingetragen) erhalte ich eine Reihe unaufgelöster Symbole, z. B.
Code:
my.lib(some.obj) : error LNK2019: unresolved external symbol "public: __thiscall noise::utils::NoiseMapBuilderPlane::NoiseMapBuilderPlane(void)" (****0NoiseMapBuilderPlane@utils@noise@@QAE@XZ) referenced in function "public: void __thiscall some::Init(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class other *,class irr::scene::ISceneManager *,class irr::scene::ICameraSceneNode *)" (?Init@Terrain@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVa@@PAVISceneManager@scene@irr@@PAVICameraSceneNode@67@@Z)
Interessant dabei ist, dass sich die Linkerfehler ausschließlich auf noise::utils beziehen. Ich hatte versuchsweise einmal noiseutils direkt zu meinem Projekt (my) hinzugefügt, dann traten keine Probleme auf. Versuche ich das aber nun auf eine .dll "auszulagern", treten diese Probleme auf.
Wer sich die Frage stellt: Ja, und warum auslagern, wenn anders funktioniert? Der Grund liegt in der Lizenz.
Wäre echt sehr dankbar, wenn mir jemand helfen könnte, habe schon lange dran gesessen, recherchiert, aber bin nicht weitergekommen.
Gruß,
badday