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!


Anmelden zum Antworten