MFC DLL erstellen - Unresolved External Linker Error - nur eine Methode kann aufgerufen werden
-
Hallo
Ich bin grade dabei eine MFC DLL zu erstellen. Paar Details: Ich arbeite mit Visual Studio 2013. Die DLL erstelle ich in C++ und die Anwendung mit der die DLL aufgerufen werden soll ist ebenfalls in C++ geschrieben.
Mein Vorgehen war so, dass ich ein neues Projekt erstellt habe (MFC DLL mit C++) und eine kleine Klasse geschrieben habe.
Header File:
class CIO_Manager { public: __declspec(dllexport) CIO_Manager(); __declspec(dllexport) virtual ~CIO_Manager(); __declspec(dllexport) void Io_DummyA(char*& c); __declspec(dllexport) void Io_DummyB(CString& c); };
CPP File:
#include "stdafx.h" #include <afx.h> #include "Io_Manager.h" CIO_Manager::CIO_Manager() { } CIO_Manager::~CIO_Manager() { } void CIO_Manager::Io_DummyA(char*& c) { CString s = _T("Kraut und rüben"); int L = s.GetLength() + 1; CT2A ascii(s); c = new char[L]; strncpy_s(c, L, ascii, L); c[L - 1] = 0; } void CIO_Manager::Io_DummyB(CString& c) { c = c + _T(":hallo"); }
Dann habe ich den Header zu meiner "Clienten"-Anwendung hinzugefügt. Die erzeugte DLL zu der Exe gepackt und zusätzlich die .Lib als Additional Dependency bekannt gemacht in den Einstellungen.
(Kann mir jemand vielleicht erklären wie Lib und DLL zusammenhängen, braucht man beides oder eines nur im Debug Modus?)
Der Code aus der Anwendung:
CIO_Manager manager; CString test = "test"; char* cSave = NULL; manager.Io_DummyA(cSave); manager.Io_DummyB(test);
Als ich nun getestet habe, ob ich die Methoden aus der DLL aufrufen kann, konnte ich die Methode "IO_DummyA" ohne weiteres aufrufen, bei der Methode "IO_DummyB" bekomme ich allerdings ein Unresolved External Linker Fehler.
Sobald ich mehr als eine Methode in der DLL habe bekomme ich unresolved External
Hat jemand vielleicht eine Idee woran das liegen könnte oder einen Hinweis was ich vergessen / falsch gemacht haben könnte?
Schon mal vielen lieben Dank für eure Hilfe!
-
Du erstellst einen Thread dessen Titel mit "MFC DLL" anfängt im Standard C++ Forum? Ernsthaft?
-
Bin ich im falschen Forum oder was ist das Problem?
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.