PDA

View Full Version : سوال: کامپایلر gcc تحت ویندوز xpبا سلام



md2008
چهارشنبه 11 دی 1387, 18:27 عصر
با سلام
برای اینکه کامپایلر gcc تحت ویندوز داشته باشم، MinGW را به همراه MSYS نصب کردم. اما بعضی از header فایل ها مانند shm.h موجود نیست. البته چند تا از این header فایل ها را دانلود کردم ولی خود آنها ارور دارند.
لطفا راهنمایی ام کنید.
با تشکر

Nima_NF
چهارشنبه 11 دی 1387, 20:35 عصر
فرق کامپایلرهای سورس باز مانند gcc با سایر تجاری ها در این است که شما بیشتر کتابخانه ها را باید از سایت دانلود همان کامپایل پیدا کرده و دانلود کنید.

ilius.gnu
شنبه 14 دی 1387, 02:55 صبح
با نصب CodeBlocks و Dev-CPP بیشتر کتابخونه‌های رایج خودشون نصب میشن. اگه لینوکس هم نصب داشته باشید، می‌تونید محتویات پوشه usr/include/ رو توی ویندوز هم کپی کنید برای کاملتر شدن library ها. اگه باز هم کتابخونهٔ خاصی لازم بود خب دانلود کنید البته فقط فایل هدر(h.) کافی نیست، شما باید خود اون کتابخونه رو سرچ کنید و دانلود کنید.

kitten
شنبه 14 دی 1387, 11:54 صبح
سلام دوست عزیز من به شما cygwin را پیشنهاد می کنم
این نرم افزار یه شبیه ساز ترمینال لینوکس است شما باید این فایل را دانلود کنی
http://cygwin.com/setup.exe
و از لیستی که هنگا پم نصب بهت می ده gcc را انتخاب کن تا از طریق اینترنت دانلود و نصب کنه
یه pdf برای استفاده از cygwin و طرز نصب ان هست اگه سرچ کنی پیدا می شه
اگه باز هم نا مفهومه بگو بیشتر توضیح میدم:لبخند:

md2008
دوشنبه 23 دی 1387, 15:42 عصر
cygwin از نظر header file کامله؟
نیاز به یه چیزی شبیه msys نداره؟
البته من هنوز cygwin رو دانلود نکردم.

md2008
دوشنبه 23 دی 1387, 15:43 عصر
از اینکه راهنماییم میکنید ممنونم.
با تشکر

kitten
دوشنبه 23 دی 1387, 19:33 عصر
ببينيد دوست عزيز
cygwin يه شبيه سازه لينوكسه
و به نظر من براي استفاده از كامپايلر Gcc در لينوكس بهترين گزينه است
البته كه تمام سر فايل ها را نداره
مزيتش اينه كه هر سر فايلي را نداشته باشه مي توني ظرف چند دقيقه از اينترنت بگيري و بريزي توي cygwin تا مشكل حل بشه
فكر مي كنم اين بهترين راه حله

impression
چهارشنبه 14 اسفند 1387, 13:42 عصر
سلام
ما یه پروژه داریم که توش باید کد نرم افزار vlc رو در cygwin کامپایل کنیم. وقتی دستورات زیر رو برای config کردن cygwin می زنیم، خطا می ده.


PATH=/usr/win32/bin:$PATH \




PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \

CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
./configure \
--host=i686-pc-mingw32 \
--disable-gtk \
--enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
--enable-avcodec --enable-avformat --enable-swscale \
--enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
--enable-live555 --with-live555-tree=/usr/win32/live.com \
--enable-caca --with-caca-config-path=/usr/win32/bin \
--with-xml2-config-path=/usr/win32/bin \
--with-dvdnav-config-path=/usr/win32/bin \
--disable-cddax --disable-vcdx --enable-goom \
--enable-twolame --enable-dvdread \
--enable-debug --enable-dca \
--disable-mkv --disable-taglib


خطایی که میده مربوط به خط ./configure است که به صورت زیر است:


bash: ./configure: no such file or directory

من نمیدونم باید توی چه آدرسی این دستور رو بنویسم که درست باشه. لطفا کمک کنید:ناراحت:

sali444
یک شنبه 18 اسفند 1387, 01:49 صبح
آره cygwin هست با نصب آنلاین. ولی پکهای کاملش هم گیر میاد.
CodeBlocks که دوستمون فرمودن یه مجموعه از کامپایلر هاست و مطمعنن قویه. من CodeBlocks رو پیشنهاد می کنم. کامل هست و gcc رو هم داره.

fakhradin
یک شنبه 12 اردیبهشت 1389, 22:21 عصر
#include<iostream>
#include<graphics.h>
#include<iomanip>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>

int main()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "e:\\Dev-Cpp\\bgi");


clock_t start,end,r;
int x,y,i,x1,y1,j,l,m,temp,tail,col,scr,scr1,tempo;

char scrn[10];
// char key=0;
temp=30;tail=3;
scr1=0;
int a[300],b[300];
i=y=x=0;


const char up='w';
const char dw='s';
const char ls='a';
const char rs='d';

cout<<" RULES FOR THE GAME"<<endl;
cout<<"KEYS---"<<endl<<" w- FORWARD"<<endl<<" a- LEFT TURN"<<endl<<" d- RIGHT TURN"<<endl<<" s- DOWN"<<endl;
cout<<" Q- QUIT"<<endl;
cout<<" TURN CAPS LOCK OFF"<<endl;
cout<<" EAT THE INSECTS N LIVE...U DIE IF U CROSS THE LIMIT / MOVE OVER UR SELF /"<<endl;
cout<<" CROSS UR LEFTOVER SKIN."<<endl;
cout<<" SHEADS SKIN AFTER REGULAR INTERVALS.."<<endl;
cout<<" KEEP MOVING TO FIND FOOD ELSE U DIE"<<endl;
cout<<" POINTS ARE ADDED FOR EVERY INSECT YOU EAT,BUT EAT THE FIRST ONE BEFORE SECOND ONE COMES UP ELSE NO SCORE WILL BE ADDED UP"<<endl<<endl;
cout<<" PRESS MOVE(a) KEY TO CONTINUE.....";
getch();

cleardevice();
setbkcolor(9);
for(j=0;j<=7;j++)
a[j]=b[j]=0;

rectangle(20,21,600,441);
outtextxy(20,5,"SCORE..");
randomize();
l=(random(520)+60);
if(l<=99)
{l=l/10;
l=l*10;}
else {l=l/10;
l=l*10; }

m=(random(400)+40);
if(m<=99)
{m=m/10;
m=m*10; }
else {m=m/10;
m=m*10; }
outtextxy(l,m,"*");

char key;
do

{

setcolor(15);
rectangle(20,21,600,440);
if(i==60||i==120||i==190||i==270)
{
l=(random(520)+50);
if(l<=99)
{l=l/10;
l=l*10;}
else {l=l/10;
l=l*10; }

m=(random(400)+30);
if(m<=99)
{m=m/10;
m=m*10; }
else {m=m/10;
m=m*10; }

setcolor(15);
outtextxy(l,m,"ى");
sound(3800);

}

start=clock();
key=getch();
end=clock();
r=end-start;
if(r>=15)
{ outtextxy(100,100,"YOU ARE TOO SLOW...:-( ");
delay(1000);nosound();break;}

if (i==300 )
{ i=0;}

{
if(key==up)
{ y-=10;}
if(key==dw)
{ y+=10;}
if(key==ls)
{ x-=10;}
if(key==rs)
{ x+=10;}
}
setcolor(10);
a[i]= x1=210+x;
b[i]= y1=210+y;
if(x1==l && y1==m)
{ scr1++;
scr=10*scr1;
sprintf(scrn,"%d",scr);
nosound();
setcolor(0);
outtextxy(70,5,"غغ");
setcolor(15);
outtextxy(70,5,scrn);

temp+=10;tail++; }

if(x1==20||x1==600||y1==20||y1==440)
{nosound();break;}

col=getpixel(x1,y1);
if(col>0)
break;
nosound();
tempo=tail;

if(i>=(299-tempo))
{ setcolor(4);
tempo-- ;
}
outtextxy(x1,y1,"X");
setcolor(0);
outtextxy(a[i-tail],b[i-tail],"X" );
i++;


} while (key !='q');

settextstyle(2,0,26);
outtextxy(210,210,"OUT");
getch();
closegraph();
return 0;
}

fakhradin
یک شنبه 12 اردیبهشت 1389, 22:23 عصر
#include<iostream>
#include<graphics.h>
#include<iomanip>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>

int main()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "e:\\Dev-Cpp\\bgi");


clock_t start,end,r;
int x,y,i,x1,y1,j,l,m,temp,tail,col,scr,scr1,tempo;

char scrn[10];
// char key=0;
temp=30;tail=3;
scr1=0;
int a[300],b[300];
i=y=x=0;


const char up='w';
const char dw='s';
const char ls='a';
const char rs='d';

cout<<" RULES FOR THE GAME"<<endl;
cout<<"KEYS---"<<endl<<" w- FORWARD"<<endl<<" a- LEFT TURN"<<endl<<" d- RIGHT TURN"<<endl<<" s- DOWN"<<endl;
cout<<" Q- QUIT"<<endl;
cout<<" TURN CAPS LOCK OFF"<<endl;
cout<<" EAT THE INSECTS N LIVE...U DIE IF U CROSS THE LIMIT / MOVE OVER UR SELF /"<<endl;
cout<<" CROSS UR LEFTOVER SKIN."<<endl;
cout<<" SHEADS SKIN AFTER REGULAR INTERVALS.."<<endl;
cout<<" KEEP MOVING TO FIND FOOD ELSE U DIE"<<endl;
cout<<" POINTS ARE ADDED FOR EVERY INSECT YOU EAT,BUT EAT THE FIRST ONE BEFORE SECOND ONE COMES UP ELSE NO SCORE WILL BE ADDED UP"<<endl<<endl;
cout<<" PRESS MOVE(a) KEY TO CONTINUE.....";
getch();

cleardevice();
setbkcolor(9);
for(j=0;j<=7;j++)
a[j]=b[j]=0;

rectangle(20,21,600,441);
outtextxy(20,5,"SCORE..");
randomize();
l=(random(520)+60);
if(l<=99)
{l=l/10;
l=l*10;}
else {l=l/10;
l=l*10; }

m=(random(400)+40);
if(m<=99)
{m=m/10;
m=m*10; }
else {m=m/10;
m=m*10; }
outtextxy(l,m,"*");

char key;
do

{

setcolor(15);
rectangle(20,21,600,440);
if(i==60||i==120||i==190||i==270)
{
l=(random(520)+50);
if(l<=99)
{l=l/10;
l=l*10;}
else {l=l/10;
l=l*10; }

m=(random(400)+30);
if(m<=99)
{m=m/10;
m=m*10; }
else {m=m/10;
m=m*10; }

setcolor(15);
outtextxy(l,m,"ى");
sound(3800);

}

start=clock();
key=getch();
end=clock();
r=end-start;
if(r>=15)
{ outtextxy(100,100,"YOU ARE TOO SLOW...:-( ");
delay(1000);nosound();break;}

if (i==300 )
{ i=0;}

{
if(key==up)
{ y-=10;}
if(key==dw)
{ y+=10;}
if(key==ls)
{ x-=10;}
if(key==rs)
{ x+=10;}
}
setcolor(10);
a[i]= x1=210+x;
b[i]= y1=210+y;
if(x1==l && y1==m)
{ scr1++;
scr=10*scr1;
sprintf(scrn,"%d",scr);
nosound();
setcolor(0);
outtextxy(70,5,"غغ");
setcolor(15);
outtextxy(70,5,scrn);

temp+=10;tail++; }

if(x1==20||x1==600||y1==20||y1==440)
{nosound();break;}

col=getpixel(x1,y1);
if(col>0)
break;
nosound();
tempo=tail;

if(i>=(299-tempo))
{ setcolor(4);
tempo-- ;
}
outtextxy(x1,y1,"X");
setcolor(0);
outtextxy(a[i-tail],b[i-tail],"X" );
i++;


} while (key !='q');

settextstyle(2,0,26);
outtextxy(210,210,"OUT");
getch();
closegraph();
return 0;
}