ошибки компоновки zlib

#c builder #zlib #compression #c builder-2010

#c builder #zlib #сжатие #c builder-2010

Вопрос:

Я загрузил последнюю версию пакета zlib1.2.5 и добавил корневой каталог zlib в c builder, включая path / lib path, и попытался скомпилировать следующий код, но выдает ошибки компоновки в методах compress, compressBound и uncompress!!!

 [ILINK32 Error] Error: Unresolved external '_compressBound' referenced from C:USERSDevDOCUMENTSRAD STUDIOPROJECTSDEBUGUNIT1.OBJ

[ILINK32 Error] Error: Unresolved external '_compress' referenced from C:USERSDevDOCUMENTSRAD STUDIOPROJECTSDEBUGUNIT1.OBJ

[ILINK32 Error] Error: Unresolved external '_uncompress' referenced from C:USERSDevDOCUMENTSRAD STUDIOPROJECTSDEBUGUNIT1.OBJ

[ILINK32 Error] Error: Unable to perform link

// What else dirs do I need to add to lib path???
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#define __MACTYPES__
#include <zlib.h>

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btn1Click(TObject *Sender)
{
   AnsiString astrTemp = "";
    // astrTemp = Memo1->Text; 
    unsigned long iLen = mmo1->Text.Length();   //原Memo2
    unsigned long ulBuflen = compressBound(iLen);  // 

    char *pcompress = new char[ulBuflen];
    memset(pcompress,'',ulBuflen);

    int iRet = compress(pcompress,amp;ulBuflen,AnsiString(mmo1->Text).c_str(),iLen); 
    if(iRet == Z_OK)
    {
        AnsiString astrTemp="";
        for(int i=0;i<ulBuflen;i  )
        {
            astrTemp =IntToHex((unsigned char)pcompress[i],2) " ";   
        }
        mmo1->Lines->Add(astrTemp);   
    }


    astrTemp.SetLength(iLen);   
    uncompress(astrTemp.c_str(),amp;iLen,pcompress,ulBuflen);
    mmo2->Text = astrTemp;   

    delete []pcompress;
}
//---------------------------------------------------------------------------
  

Ответ №1:

Упс!! Я забыл их создать. Используйте make -f win32/Makefile.bor и готово!!

Пока все работает нормально!!!! Кроме того, не забудьте добавить зависимости!

Комментарии:

1. При сжатии stackoverflow.com он выводит 78 9C 2B 2E 49 4C CE CE 2F 4B 2D 4A CB C9 2F D7 4B CE CF 05 00 3F F3 06 F8