Mayo 26, 2019, 01:07:11 am

Noticias:

Para hacer tu consulta: debes registrarte y hacer un nuevo tema en la sección que consideres más adecuada. Ver: Acerca de este Foro.


Buscar en el Foro: 

Recientes

crear Dll

Iniciado por gin, Junio 14, 2005, 08:03:45 pm

Tema anterior - Siguiente tema

gin

Ojala alguien me pueda ayudar, he buscado por toda la red, pero no he podido generar una dll que pueda utilizarla en una aplicacion hecha con Visual C++ 6.0.

y eso con una "pinche" funcion

Proyecto para generar DLL:

MyDll.cpp
#include "MyDll.h"

BOOL WINAPI DllMain(HINSTANCE hInstance,DWORD fdwReason,PVOID pvReserved)
{
return TRUE;
}

DLL_EXPORT int Suma(int a,int b)
{
return (a+b);
}

MyDll.h
#include

#define DLL_EXPORT __declspec(dllexport)

#ifdef __cplusplus
extern "C"
{
#endif

DLL_EXPORT int Suma(int,int);

#ifdef __cplusplus
}
#endif


Proyecto WIN-32 Application
Proyecto para utilizar DLL:
[TestMyDll]

stdafx.h
#ifndef _ATM_STD_AFX_H_
#define _ATM_STD_AFX_H_
#if _MSC_VER > 1000
#pragma once
#endif

#define WIN32_LEAN_AND_MEAN

#endif

MyDllText.cpp
//y hago referencia en la aplicaion donde la voy a usar
#include
#include "stdafx.h"
#include "C:\VISUALC\MY_DLL\MyDll.h"

.....


y me da error solo a la hora de generar el .exe


--------------------Configuration: MyDllTest - Win32 Debug--------------------
Linking...
MyDllTest.OBJ : error LNK2001: unresolved external symbol _Suma
MyDllTest.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

MyDllTest.exe - 2 error(s), 0 warning(s)

alguien sabe que puede ser o que me diga como pueda crearla y USARLA pero que FUNCIONE?
blog.mbrenes.com

No hay vida en este cuerpo Yo soy nada, sin vida, sin alma ... odiado y temido, estoy muerto para todo el mundo. Escuchame... yo soy el monstruo al que los ho


JorgeAVM

Me parece a mí que la función suma debe estar implementada en alguna parte.  :roll:

gin

Gracias por responder
..ya funciona

1):Proyecto para generar la DLL
/* MyDll.h */
#include

#define DLL_EXPORT __declspec(dllexport)

#ifdef __cplusplus
extern "C"
{
#endif

DLL_EXPORT int Suma(int,int);

#ifdef __cplusplus
}
#endif

/*-------------------------------------------------------------------------------*/

/* MyDll.cpp*/
#include "MyDll.h"

BOOL WINAPI DllMain(HINSTANCE hInstance,DWORD fdwReason,PVOID pvReserved)
{
return TRUE;
}

DLL_EXPORT int Suma(int a,int b)
{
return (a+b);
}


/*-------------------------------------------------------------------------------*/

2):Proyecto para utilizar la DLL
//en este caso una aplicacion win32...
//agrego los archivos: MyDll.h, MyDll.lib, MyDll.dll a este nuevo proyecto.
//y agrege el archivo MyDll.lib a la linea de comando del Linker
/* Test.cpp */
#include
#include

#include "MyDll.h"

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
int nr;
char szValue[30];
 
 nr=Suma(10,10);//llamada a la funcion definida en MyDll.dll
 sprintf(szValue,"El resultado es = %i",nr);
 MessageBox(NULL,szValue,"Test de MyDll",MB_OK);
return 0;
}
blog.mbrenes.com

No hay vida en este cuerpo Yo soy nada, sin vida, sin alma ... odiado y temido, estoy muerto para todo el mundo. Escuchame... yo soy el monstruo al que los ho


Redes Sociales

Buscar en el Foro: