2009-07-28 26 views
0

In Visual Studio 2008 habe ich eine statische DLL namens test_static.dll erstellt. Ich versuche, dies aus einer Anwendung zu nennen. Ich habe diese DLL in Quelldateien Ordner und die zugehörige Header-Datei im Header-Ordner enthalten. Wenn ich die Anwendung starte, bekomme ich folgenden Fehler. Bitte gib mir eine Lösung.Visual Studio 2008 Linker Fehler

Fehler LNK2019: ungelöstes externes Symbol "struct morph_output * __cdecl morpho_data (struct morph_input *)" (morpho_data @@ YAPAUmorph_output @@ PAUmorph_input @@@ Z?) In Funktion referenzierten _wmain 1> D : \ test_app \ Debug \ test_app.exe: fatal error LNK1120: 1 nicht aufgelöst Externen 1> Das Buildprotokoll wurde bei gespeichert "file: // d: \ test_app \ test_app \ Debug \ BuildLog.htm"

Hier ist test_app eine Anwendung, die u sing static dll. und morpho_data ist die dll-Funktion, die Eingaben als Struktur nimmt und eine andere Struktur zurückgibt.

+0

versuchen Sie es in den Debug-Ordner der exe. –

Antwort

0

Beim Kompilieren der DLL müssen Sie eine Importbibliothek erstellen - eine .lib-Datei (Linker-> Advanced-> Import Library) und in die Liste der Bibliotheken aufnehmen, von denen Ihre .exe abhängt (Linker-> Input-> Zusätzliche Abhängigkeiten und Linker-> Allgemein-> Zusätzliche Bibliotheksverzeichnisse).

0

Haben Sie test_static.lib als Eingabe für den Linker in den Projekteinstellungen hinzugefügt?

0

Haben Sie die Header-Datei eingeschlossen, in der die Funktion deklariert ist?

+0

Wenn er dies nicht einbeziehen würde, würde er beim Quellenkompilieren einen Fehler sehen, nicht verknüpfen. – sharptooth

+0

@Sharptooth, dass eine Abstimmung nach unten verdient. Bitte können Sie sich verpflichten? –