Ver Mensaje Individual
  #6  
Antiguo 09-09-2016
Snaked Snaked is offline
Baneado
NULL
 
Registrado: sep 2016
Posts: 102
Reputación: 0
Snaked Va por buen camino
Thumbs up

mira..... yo programo en C++ Builder 6 Enterprise pero te digo como hago yo cuando necesito usar una dll externa

lo primero es generar el fichero Zlib1.lib para el compilador de borland y esto lo haces desde la linea de comandos donde tengas la DLL con IMPLIB zlib1.lib zlib1.dll (es necesario que en el PATH este la ruta hacia el subdirectorio BIN de C++ builder que es donde busca el Implib.exe)

al convertir la DLL a LIB se generará en la misma carpeta el archivo LIB de borland

Dicho archivo, debes incluirlo en Proyecto que tengas mediante la opcion PROJECT->Add to Project (seleccionas el zlib1.lib que hemos generado) con esto, se unirá al proyecto para que puedas compilar

asi mismo, deberás incluir en el codigo fuente de tu proyecto, en la parte de los includes el include a los ficheros .H de la libreria

finalmente debes colocar el zlib1.dll original en la carpeta donde esté el EXE de tu proyecto para que al ejecutar el programa, pueda llamar a las funciones de esa DLL


Pruebalo así y me cuentas....

ah si....tienes que colocar los include en el codigo mas o menos en esta estructura de ejemplo....despues de la VCL.h

Código:
//---------------------------------------------------------------------------


#include <vcl.h>

#pragma hdrstop
#include "zconf.h"
#include "zlib.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
hecho lo cual al compilar es posible que te de un error de "Ambiguity between Byte and System::Byte" esto lo solucionas reemplazando donde pone Byte en el codigo del archivo zconf.h lo reemplazas Byte por ::Byte

hecho asi a mi me compila perfectamente sin errores ni warning socio

espero haberte ayudado colega

un saludo

Snaked
Responder Con Cita