Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Linker Probleme beim erstellen einer DLL mit MinGW

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.05.2008, 21:10 Uhr
PaRu



ich möchte eine dll mit c++ erstellen, die später aus matlab heraus benutzt werden kann. um das einbinden in matlab zu vereinfachen deklariere ich die library als: extern "C". ich habe ein minimalbeispiel geschrieben, um zu schauen, ob alles so funktioniert wie ich es mir vorstelle. beim einbinden der dll in mein c testprogramm bekomme ich immer folgenden linker fehler:
undefined reference to 'test_Methode'

minimalbeispiel:
test_DLL.cpp:

C++:
#include <string>
#include <iostream>

int test_Methode( const char* testString ) {

    std::string str = testString;
    std::cout << str << std::endl;
    return EXIT_SUCCESS;
}



test_DLL.hpp:

C++:
#ifndef __test_DLL_hpp
#define __test_DLL_hpp

#ifdef __cplusplus
    extern "C" {
#endif

        int test_Methode( const char* );

#ifdef __cplusplus
    }
#endif

#endif



main.c:

C++:
#include "test_DLL.hpp"

int main( int argc, char *argv[] ) {
  
    return test_Methode( "Hello World" );
}



kompiliert wird wie folgt:
g++ -shared - Wall -MM test_DLL.cpp > test_DLL.dep
g++ -shared - Wall -c test_DLL.cpp -o test_DLL.o
g++ -shared - Wall -o test_DLL.dll > test_DLL.o

gcc -c main.c
gcc -o Test.exe main.o test_DLL.dll
--
Gruß Patrick

Dieser Post wurde am 27.05.2008 um 21:12 Uhr von PaRu editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.05.2008, 22:39 Uhr
0xdeadbeef
Gott
(Operator)


Füg in der test_DLL.cpp ein #include "test_DLL.hpp" ein, damit der Compiler beim Kompilieren auch weiß, dass die Funktion extern "C" sein soll.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: