Curl + Borland 6

problemy z funkcjonowaniem bibliotek, komponentów itp.

Curl + Borland 6

Nowy postprzez GoldWolf » piątek, 16 stycznia 2009, 18:54

Witam, nie potrafię sobie dodać bibliotek do projektu, po prostu muszę najpierw te biblioteki przygotować. Korzystałem z następujących helpów:
(http://rudeserver.com/ssl/openssltutorial.html),
(http://curl.haxx.se/docs/install.html).

Oraz oczywiście z manula pakietu Curl:

Borland C++ builder 5
---------------------

* Configure for building with Borland Builder:
> perl Configure BC-32

* Create the appropriate makefile
> ms\do_nasm

* Build
> make -f ms\bcb.mak



Nie potrafię przeprowadzić
> make -f ms\bcb.mak

Próbowałem do tego zastosować nmake(MS), oraz make(WinAVR).
Może ktoś ma gotowe biblioteki, które mógłbym podpiąć pod projekt, lub jakąś aplikacje, która potrafiła by mi skompilować bcb.mak
Biblioteki te chce zaprzęgnąć do pobierania danych ze strony internetowych.
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein

Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt
Avatar użytkownika
GoldWolf
Homos antropiczny
Homos antropiczny
 
Posty: 116
Dołączył(a): piątek, 16 stycznia 2009, 18:42
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Siódemka Profesjonalna
Kompilator: Microsoft Visual Studio 2010
Version 10.0.30319.1
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez Cyfrowy Baron » sobota, 17 stycznia 2009, 13:56

  • Idzi do katalogu: cd [C]:\Documents and Settings\poopoohead\Desktop\ssl\openssl\openssl-0.9.6c
  • W katalogu przejdź do następnego katalogu: ms i uruchom w nim plik bcb4.bat ( z nazwy pliku wynika, że jest on przewidziany dla BCB 4)
  • Jeżeli operacja przebiegła prawidłowo zobaczysz trzy nowe katalogi w katalogu instalacyjnym: inc32, out32, tmp32.
  • Uruchom środowisko BCB
  • Utwórz nową aplikację
  • Umieść obiekt Memo1 na formularzu głównym
  • Przejdź do menu Project | Options. W oknie które wyskoczy odszukaj Directories/Conditionals, przy sekcji include path kliknij na przycisk [...], w oknie które wyskoczy kliknij na przycisk [...] i dodaj ścieżkę dostępu do katalogu inc32. Zamknij okno. Przy sekcji Librare path postępuj podobnie i dodaj ścieżkę do katalogu out32. Zamknij wszystkie okna.
  • W menu Project | Add to project wybierz Pliki typu Library file (*.lib), przejdź do folderu out32 i wybierz wszystkie pliki typu *.LIB.
  • W sekcji include projektu dodaj wpisy: #include <openssl/crypto.h>
    Kod: Zaznacz cały
    #include <openssl/x509.h>
    #include <openssl/pem.h>
    #include <openssl/ssl.h>
    #include <openssl/err.h>
  • Utwórz SOCKET i ustaw połączenie z serwerem https przez port 443.
  • Umieść kod:
    Kod: Zaznacz cały
    SOCKET sock;
               // build regular SOCK_STREAM sock and connect to server
               // ... (I'm not going into these details)
               // pretend sock is now connected....


               // here's the data items we'll use....
              char buf[1000];
               char request[1000];

               SSL_CTX *ctx;
               SSL *ssl;
               int err;

               // initialize SSL stuff
               //
               SSL_load_error_strings();
               SSL_library_init();


               // build the SSL objects...
               //
               ctx=SSL_CTX_new(SSLv2_client_method());
               ssl=SSL_new(ctx);         
               

               // assign the socket you created for SSL to use
               //
               SSL_set_fd(ssl, sock);


               // communicate!!
               /////////////////////////////////////////////
                 err=SSL_connect(ssl);
                 sprintf(request,
                        "GET %s HTTP/1.0\r\nHost: %s\r\n\r\n","/" ,
                        "www.theserver.com");
                 err=SSL_write(ssl, request, strlen(request));
                 while(1)
                 {
                    int read_size;
                    read_size=SSL_read(ssl, buf, sizeof(buf)-1);
                    buf[read_size]='\0';
                    if(read_size > 0)
                   {
                         // I'm assuming you have a Memo object
                         //on your application form...
                         //
                        Memo1->SetSelTextBuf(buf);
                   }
                   else
                   {
                    break;
                   }
                 }


                 // free the SSL stuff....
                 //
                 SSL_shutdown(ssl);
                 SSL_free(ssl);
                 SSL_CTX_free(ctx);
  • Skompiluj, uruchom.

Powyższa procedura dotyczy C++ Builder 4, być może biblioteki współpracują z innymi wersjami, aczkolwiek niekoniecznie.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4727
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 444
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez GoldWolf » niedziela, 18 stycznia 2009, 11:45

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i\ms>bcb4.bat

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i\ms>perl Configure BC-
32
Can't open perl script "Configure": No such file or directory

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i\ms>perl util\mkfiles.
pl 1>MINFO
Can't open perl script "util\mkfiles.pl": No such file or directory

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i\ms>perl util\mk1mf.pl
no-asm BC-NT 1>bcb.mak
Can't open perl script "util\mk1mf.pl": No such file or directory


To po pierwsze, a po drugie to za pomocą nmake(dla openssl-0.9.6c wyższych wersji nie umie przetworzyć) udało mi się stworzyć te trzy katalogi, ale w katalogu out32 brak bibliotek jest pusty.
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein

Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt
Avatar użytkownika
GoldWolf
Homos antropiczny
Homos antropiczny
 
Posty: 116
Dołączył(a): piątek, 16 stycznia 2009, 18:42
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Siódemka Profesjonalna
Kompilator: Microsoft Visual Studio 2010
Version 10.0.30319.1
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez Cyfrowy Baron » niedziela, 18 stycznia 2009, 12:50

Najwyraźniej wersja bibliotek nie odpowiada wersji środowiska C++ builder.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4727
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 444
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez GoldWolf » niedziela, 18 stycznia 2009, 17:58

Pozostaje mi spróbować make z linuxa, nie wieżę, że nie da się tego zrobić. Problem w tym, że nie wiem jak się za to zabrać.

Make z linuxa to mi poszedł ale nie ten co trzeba.

Próbowałem zastosować mingw32-make-3.81 i pojawił się błąd :
C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.6c>mak.exe -f bcb.mak
Building OpenSSL
copy .\crypto\buildinf.h tmp32\buildinf.h
Liczba skopiowanych plików: 1.
copy .\crypto\opensslconf.h inc32\openssl\opensslconf.h
Liczba skopiowanych plików: 1.
echo LIB 0
LIB 0
&tlib /P64 out32\libeay32.lib -+*
W tym momencie & było nieoczekiwane.
mak.exe: *** [out32\libeay32.lib] Error 255


Jak mówię prawdopodobnie chodzi o jakiś banał ale na razie nadal szukam jaki.
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein

Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt
Avatar użytkownika
GoldWolf
Homos antropiczny
Homos antropiczny
 
Posty: 116
Dołączył(a): piątek, 16 stycznia 2009, 18:42
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Siódemka Profesjonalna
Kompilator: Microsoft Visual Studio 2010
Version 10.0.30319.1
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez GoldWolf » poniedziałek, 19 stycznia 2009, 22:48

Jeszcze natrafiam na coś takiego:


perl Configure bcc32 no-threads
ms\bcb4
nmake -f bcb.mak


C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>perl Configure bcc32
no-threads
Configuring for bcc32
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx]
[-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-
dynamic] [enable-montasm] [no-asm] [no-dso] [no-krb5] [386] [--prefix=DIR] [--op
enssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]

pick os/compiler from:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX-gcc OS2-EMX
OS390-Unix ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-NT VC-WIN32 VC-WIN64A
VC-WIN64I aix-cc aix-gcc aix3-cc aix64-cc aix64-gcc aux3-gcc bsdi-elf-gcc cc
cray-j90 cray-t3e darwin-i386-cc darwin-ppc-cc darwin64-ppc-cc
darwin64-x86_64-cc dgux-R3-gcc dgux-R4-gcc dgux-R4-x86-gcc dist gcc hpux-cc
hpux-gcc hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-cc-o4
hpux-parisc-gcc hpux-parisc1_0-cc hpux-parisc2-cc hpux-parisc2-gcc
hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86
irix-cc irix-gcc irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc
linux-alpha+bwx-ccc linux-alpha+bwx-gcc linux-alpha-ccc linux-alpha-gcc
linux-aout linux-elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64
linux-ia64-ecc linux-ia64-icc linux-ppc linux-ppc64 linux-sparcv8
linux-sparcv9 linux-x86_64 linux64-sparcv9 mingw ncr-scde netware-clib
netware-clib-bsdsock netware-clib-bsdsock-gcc netware-clib-gcc netware-libc
netware-libc-bsdsock netware-libc-bsdsock-gcc netware-libc-gcc newsos4-gcc
nextstep nextstep3.3 osf1-alpha-cc osf1-alpha-gcc purify qnx4 qnx6
rhapsody-ppc-cc sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc
solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc
solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc
solaris64-x86_64-cc solaris64-x86_64-gcc sunos-gcc tandem-c89 tru64-alpha-cc
ultrix-cc ultrix-gcc unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc
vos-gcc vxworks-mipsle vxworks-ppc405 vxworks-ppc750 vxworks-ppc750-debug
vxworks-ppc860 debug debug-BSD-x86-elf debug-Cygwin debug-ben debug-ben-debug
debug-ben-openbsd debug-ben-openbsd-debug debug-ben-strict debug-bodo
debug-darwin-i386-cc debug-darwin-ppc-cc debug-geoff debug-levitte-linux-elf
debug-levitte-linux-elf-extreme debug-levitte-linux-noasm
debug-levitte-linux-noasm-extreme debug-linux-elf debug-linux-elf-noefence
debug-linux-pentium debug-linux-ppro debug-rse debug-solaris-sparcv8-cc
debug-solaris-sparcv8-gcc debug-solaris-sparcv9-cc debug-solaris-sparcv9-gcc
debug-steve debug-steve-linux-pseudo64 debug-steve-opt debug-steve32
debug-steve64 debug-ulf debug-vos-gcc

NOTE: If in doubt, on Unix-ish systems use './config'.

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>ms\bcb4.bat

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>perl Configure BC-32

Configuring for BC-32
no-camellia [default] OPENSSL_NO_CAMELLIA (skip dir)
no-capieng [default] OPENSSL_NO_CAPIENG (skip dir)
no-cms [default] OPENSSL_NO_CMS (skip dir)
no-gmp [default] OPENSSL_NO_GMP (skip dir)
no-krb5 [krb5-flavor not specified] OPENSSL_NO_KRB5
no-mdc2 [default] OPENSSL_NO_MDC2 (skip dir)
no-montasm [default]
no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
no-rfc3779 [default] OPENSSL_NO_RFC3779 (skip dir)
no-seed [default] OPENSSL_NO_SEED (skip dir)
no-shared [default]
no-tlsext [default] OPENSSL_NO_TLSEXT (skip dir)
no-zlib [default]
no-zlib-dynamic [default]
IsMK1MF=1
CC =bcc32
CFLAG =-DOPENSSL_THREADS -DDSO_WIN32
EX_LIBS =
CPUID_OBJ =
BN_ASM =bn_asm.o
DES_ENC =des_enc.o fcrypt_b.o
AES_ASM_OBJ =aes_core.o aes_cbc.o
BF_ENC =bf_enc.o
CAST_ENC =c_enc.o
RC4_ENC =rc4_enc.o rc4_skey.o
RC5_ENC =rc5_enc.o
MD5_OBJ_ASM =
SHA1_OBJ_ASM =
RMD160_OBJ_ASM=
PROCESSOR =
RANLIB =true
ARFLAGS =
PERL =perl
THIRTY_TWO_BIT mode
DES_PTR used
BN_LLONG mode
RC4_INDEX mode
RC4_CHUNK is undefined

Configured for BC-32.

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>perl util\mkfiles.pl
1>MINFO

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>perl util\mk1mf.pl no
-asm BC-NT 1>bcb.mak

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>MAK.EXE -f bcb.mak
bcb.mak:2761: *** unterminated variable reference. Stop.

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>NMAKE.EXE -f bcb.mak

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

bcb.mak(2761) : fatal error U1001: syntax error : illegal character '*' in macro

Stop.


Jak widać ostatnie dwie linijki :
C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>MAK.EXE -f bcb.mak
bcb.mak:2761: *** unterminated variable reference. Stop.

C:\Documents and Settings\ja\Moje dokumenty\openssl-0.9.8i>NMAKE.EXE -f bcb.mak

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

bcb.mak(2761) : fatal error U1001: syntax error : illegal character '*' in macro

Stop.


nie chcą się przetworzyć, z tą myślałem że to problem z make ale teraz to już sam nie wiem. TO jak nikt nie ma tych bibliotek ?!?!
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein

Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt
Avatar użytkownika
GoldWolf
Homos antropiczny
Homos antropiczny
 
Posty: 116
Dołączył(a): piątek, 16 stycznia 2009, 18:42
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Siódemka Profesjonalna
Kompilator: Microsoft Visual Studio 2010
Version 10.0.30319.1
Gadu Gadu: 0
    NieznanyNieznana

Re: Curl + Borland 6

Nowy postprzez GoldWolf » środa, 21 stycznia 2009, 19:55

Udało się at last !!!

Jak to zrobiłem:

1. Instalacja ActivePerl-5.10.0.1004-MSWin32-x86-287188
2. Turbo C++ -> dzięki tej instalce mam bc32 i make
3. Ściągnąłem openssl-0.9.8i -> pewnie z każdą wersją

Odpalamy CMD -> przechodzę do folderu z openssl np.:
C:\Documents and Settings\test\Moje dokumenty\openssl-0.9.8i> i wpisujemy
1. perl Configure bc32 -> nie ukrywam, że powinno być bcc32 ale w historii cmd mam inaczej wygląda na to jakby nie miało to wpływu ?!?
2. ms\bcb4.bat
3. make -f bcb.mak
Trochę czekania i ukazują nam się trzy wcześniej wspomniane foldery ou32, inc32, temp32.
Biblioteki -nie wiem tylko jak długo będą dostępne.

Jednak chciałbym zostać przy Turbo C++ i nie wiem czy dobrze podpiąłem te biblioteki bo mam błąd przy kompilacji (26 błędów)
podam jeden(pierwszy):
[C++ Error] Unit1.cpp(36): E2356 Type mismatch in redeclaration of 'SSL_load_error_strings()'

Foldery out32 i inc32 podpiąłem pod Project -> Oprions -> Path and Defines (pod conditional nie idzie). No i oczywiście dodałem dwia biblioteki lib z out32.

Muszę nadmienić, że jestem na początkującym więc może inne braki powodują, że nie działa.
Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota, choć nie jestem pewien co do tej pierwszej. - Albert Einstein

Błędów nie popełnia ten, kto nic nie robi. - Theodore Roosevelt
Avatar użytkownika
GoldWolf
Homos antropiczny
Homos antropiczny
 
Posty: 116
Dołączył(a): piątek, 16 stycznia 2009, 18:42
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Siódemka Profesjonalna
Kompilator: Microsoft Visual Studio 2010
Version 10.0.30319.1
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Biblioteki i komponenty

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość

cron