SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: josezzz en Jueves 1 de Mayo de 2008, 16:05

Título: Problema Al Crear Una Dll
Publicado por: josezzz en Jueves 1 de Mayo de 2008, 16:05
Hola a todos.

Resulta que estoy intentando crear una dll, es copiada de un ejemplo pero no logro hacer que funcione. El ejemplo es el siguiente:

// dlltest.h

#ifndef DLLTEST_H
#define DLLTEST_H

// are we importing or exporting

#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif

EXPORT void Hello();

#endif



// dlltest.cpp

#include "dlltest.h"
#include <iostream>
using namespace std;

EXPORT void Hello()
{
   cout << "Hello World" << endl;
}



// hello.cpp

#include "dlltest.h"

int main()
{
   Hello();
}



Creo los tres programitas y luego compilo la dll asi:

g++ -c dlltest.cpp -DBUILD_DLL

y parece que todo bien. Pero cuando tengo que usar el dllwrap asi:

dllwrap --output-lib=libdlltest.a --dllname=dlltest.dll --driver-name=g++ dlltest.o

me suelta este error:

dllwrap: no export definition file provided.
Creating one, but that may not be what you want
dllwrap: CreateProcess: No error

He estado mirando por google, pero esta todo en ingles y para mi es muy confuso.

Alguien sabe por que me pasa esto??? Qualquier ayuda sera de agradecer.

Saludos.
Título: Re: Problema Al Crear Una Dll
Publicado por: Eternal Idol en Jueves 1 de Mayo de 2008, 16:11
Mi consejo: usa VC++.
Título: Re: Problema Al Crear Una Dll
Publicado por: Geo en Viernes 2 de Mayo de 2008, 00:46
:think: ¿Qué compilador estás usando? :think:

En MinGW no recuerdo haber tenido que usar dllwrap para generar una DLL.

Checa aquí:
http://www.adp-gmbh.ch/win/misc/mingw/dll.html (http://www.adp-gmbh.ch/win/misc/mingw/dll.html)

Aquí encuentras lo mismo, además de un ejemplo de carga de la DLL usando LoadLibrary:
http://sig9.com/node/35 (http://sig9.com/node/35)

Quizá esto también te sirva (Dev-C++):
http://codigolatino.allhyper.com/private/E...diecinueve.html (http://codigolatino.allhyper.com/private/Ediciones/Codigo_Latino_2/private/diecinueve.html)
Título: Re: Problema Al Crear Una Dll
Publicado por: josezzz en Viernes 2 de Mayo de 2008, 08:47
Resuelto. Al parecer el ejemplo es algo viejo y el dllwrap esta 'deprecated'. Indagando algo mas he encontrado la solucion en la misma pagina de MinGW.

h t t p : / / w w w .mingw.org/MinGWiki/index.php/sample%20DLL

Saludos y gracias. :-)