DLL Problem ,findet WinMain einsprungspunkt nicht.
-
Hallo Leute.
Ich denke mal die Überschrift sagt schon alles.
Der will daraus keine DLL machen.Ich hab das als "leeres Projekt" angefangen. (IDE: Code::Blocks)
Der Code:
DLL.hpp
#ifndef DLL_HPP_ #define DLL_HPP_ #ifdef DLL_BUILD #define DLL __declspec(dllexport) #else #define DLL __declspec(dllimport) #endif #endif // DLL_HPP_func1.hpp
#ifndef FUNC_1_HPP_ #define FUNC_1_HPP_ #include "DLL.hpp" DLL void func1(); #endif // FUNC_1_HPP_func1.cpp
#include <iostream> #include "func1.hpp" void func1() { std::cout << "Funktion 1 wurde aufgerufen!" << std::endl; }func2.hpp
#ifndef FUNC_2_HPP_ #define FUNC_2_HPP_ #include "DLL.hpp" DLL void func2(); #endif // FUNC_2_HPP_func2.cpp
#include <iostream> #include "func2.hpp" void func2() { std::cout << "Funktion 2 wurde aufgerufen!" << std::endl; }test.hpp
#ifndef TEST_HPP_ #define TEST_HPP_ #include "DLL.hpp" DLL class test { public: test(); ~test(); }; #endif // TEST_HPP_test.cpp
#include <iostream> #include "test.hpp" test::test() { std::cout << "Test Konstruktor!" << std::endl; } test::~test() { std::cout << "Test Destruktor!" << std::endl; }Beim Compilieren gibt es folgende Fehlermeldung:
C:\Programme\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\libmingw32.a(main.o):main.c:(.text+0x104)||undefined reference to `_WinMain@16'|
Wo könnte der fehler im code liegen?
Mfg Wikinger75!
PS:
Hatte bis jetzt folgende wissens-quellen:
http://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c9855
http://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=6200
-
Ich tippe eher auf ein Linker-Problem. Aber sag mal bitte: Welche Source-Datei soll denn hier irgendwelche Funktionalität exportieren? Es gibt keine dll.cpp und keine der vorhandenen Sourcedateien definiert BUILD_CPP ...?!
-
Ich tippe eher auf ein Linker-Problem. Aber sag mal bitte: Welche Source-Datei soll denn hier irgendwelche Funktionalität exportieren? Es gibt keine dll.cpp und keine der vorhandenen Sourcedateien definiert BUILD_CPP ...?!
Klar Linker Fehler, der hat versucht daraus ne exe zu machen, falsch eingestellt^^
Jetzt hab ich auf dll umgestellt und der code lässt sich Kompilieren.Welche daten Funktionalitäen exportieren?
Für den export sorgt das Makro und DLL_BUILD ist eine Compiler oder Linker konstante.Du brauchst keine dll.cpp die ist nicht dringend notwendig.
Danke für den hinweis^^
Mfg Wikinger75!