biblioteka gd
biblioteka gd
witam.
skad moge zlapac biblioteke GD do C++? zainstalowalem libgd-tools ale to chyba nie to (sadze tak po przeczytaniu manuala do tego).
zalezy mi na wskazowkach jak najszybciej bo na jutro musze napisac program :-P
pozdrawiam,
Lukasz
skad moge zlapac biblioteke GD do C++? zainstalowalem libgd-tools ale to chyba nie to (sadze tak po przeczytaniu manuala do tego).
zalezy mi na wskazowkach jak najszybciej bo na jutro musze napisac program :-P
pozdrawiam,
Lukasz
Kod: Zaznacz cały
aptitude install libgd-dev libgd1
dzieki bardzo, zainstalowalem libgd2 oraz libgd-noxpm-dev bo takie cos tylko znalazlem.
a jak kompilowac ten program? normalnie mam wpisac #include<libdg.h>? w jakis posob dostarczyc biblioteke - odpowiednik dll-a w windowsie? mozna prosic jakis szybki prosty przyklad? biblioteki maja byc w katalogu programu?
[ Dodano: 2008-02-26, 13:25 ]
przykladowy program jaki kompilowalismy na windowsie poleceniem
plik libgd.a znajdowal sie w katalogu z programem
a jak kompilowac ten program? normalnie mam wpisac #include<libdg.h>? w jakis posob dostarczyc biblioteke - odpowiednik dll-a w windowsie? mozna prosic jakis szybki prosty przyklad? biblioteki maja byc w katalogu programu?
[ Dodano: 2008-02-26, 13:25 ]
przykladowy program jaki kompilowalismy na windowsie poleceniem
Kod: Zaznacz cały
lgcc program.cpp libbgd.a
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "gd.h"
const int sze=300;
const int wys=300;
const int loop=10000000;
int losowo(int u1, int u2)
{
if(u2<u1) return 0;
if(u1==u2) return u1;
// r w zakresie [0,1)
double r=rand()*1.0/(RAND_MAX+1.0);
return u1+(int)floor(r*(u2-u1+1));
}
// zmLos(u,u1,u2) zmienia u = u + 1 , lub u = u - 1, ale tak, by u1<=u<u2
int zmLos(int u, int u1=0, int u2=256)
{
if(u==u1) u=u+losowo(0,1); else
if(u==u2-1) u=u-losowo(0,1); else
u=u+losowo(-1,1);
return u;
}
int main()
{
gdImagePtr wy;
wy=gdImageCreateTrueColor(sze,wys);
int r,g,b,x,y;
r=g=b=0;
x=sze/2;
y=wys/2;
for(int i=0; i<loop; i++)
{
r=zmLos(r);
g=zmLos(g);
b=zmLos(b);
x=zmLos(x,0,sze);
y=zmLos(y,0,wys);
gdImageSetPixel(wy,x,y,gdTrueColor(r,g,b));
}
FILE *f;
f=fopen("rys_pr001.png", "wb");
gdImagePng(wy, f);
fclose(f);
f=fopen("rys_pr001.gif", "wb");
gdImageGif(wy, f);
fclose(f);
gdImageDestroy(wy);
}
Spróbuj zamienić to na coś takiegolukkas pisze:#include "gd.h"
Kod: Zaznacz cały
#include <gd.h>
wlasnie globalne biblioteki nie sa odnajdowane - po zmianie na < > taki blad wyskakuje:
ale poradzilem sobie tak, ze skopiowalem ze zrodel sciagnietych z http://libgd.org pliki ktorych mu brakowalo, czyli doklandie: (do katalogu ze zrodlem programu)
i wszystko smiga
(tylko z powyzszego zrodla trzeba usunac zapisywanie pliku w png bo z tym formatem jest cos nie tak)
dzieki za zainteresowanie tematem, teraz tylko trzeba umiescic te pliki w odpowiednich katalogach systemu...
pozdrawiam,
Lukasz
Kod: Zaznacz cały
$ g++ pr001.cpp libgd.a
pr001.cpp:5:16: error: gd.h: No such file or directory
Kod: Zaznacz cały
gdfx.h gd.h gd_io.h libgd.a
Kod: Zaznacz cały
g++ pr001.cpp ./libgd.a
dzieki za zainteresowanie tematem, teraz tylko trzeba umiescic te pliki w odpowiednich katalogach systemu...
pozdrawiam,
Lukasz
bez sensu, masz przecież te pliki w systemie, zainstalowane z paczki, wystarczyło dorobić dowiązania.lukkas pisze:(..) ale poradzilem sobie tak, ze skopiowalem ze zrodel sciagnietych z http://libgd.org pliki ktorych mu brakowalo, czyli doklandie: (do katalogu ze zrodlem programu) (...)
Powinny być odnajdywane normalnie, zainstalowałem u siebie i wszystko jest ok przy uzyciu < > oraz kompilacji tak
Kod: Zaznacz cały
g++ pr001.cpp
Kod: Zaznacz cały
#include <gd.h>
Kod: Zaznacz cały
whereis gd.h
Kod: Zaznacz cały
g++ -Wall -pedantic pr001.cpp -lgd -o pr001
z twoim kodem jest cos nie tak u mnie png dziala(tylko z powyzszego zrodla trzeba usunac zapisywanie pliku w png bo z tym formatem jest cos nie tak)