c++ fatal error

zacnblnt

Üye
Katılım
7 May 2010
Mesajlar
210
Puanları
1
c++ ta program yazmaya çalışıyorum ama sürekli
The system cannot find the file specified
diye hata veriyor sorun ne olabilir.
 
Belki bir dll (windows için kod yazıyorsan) dosyası çağırıyorsun onu bulamıyor olabilir veya bir dosyayı işleme tabi tutuyorsun ancak başka bir proses de onu kullanmaya çalışırken bu hata oluyor olabilir. Derleyici bir dosya istiyor olabilir.

Kodlamanın parçası olmadan ya da hangi şartlar olduğunu bilmeden yazmak zor.
 
/****************************************************************************\
* *
* TMcube.c *
* *
* This program draws a texture-mapped cube in 3D world space and allows the *
* user to move and rotate the cube through keyboard controls. A different *
* texture is applied to each cube face. Supports linear or perspective *
* texture mapping, z-buffering, and 3D clipping through the RENDER_STATE *
* symbol. *
* *
\****************************************************************************/
#include <fgwin.h>
#define RENDER_STATE (FG_PERSPECTIVE_TM | FG_ZBUFFER | FG_ZCLIP)
#define vbWidth 640
#define vbHeight 480
#define vbDepth 16
#define tmWidth 64
typedef struct point3d
{
double x;
double y;
double z;
} POINT3D;
// six faces of a 40x40x40 cube, defined in object coordinates
POINT3D Face1[] = {
{ 20.0,-20.0,-20.0},
{-20.0,-20.0,-20.0},
{-20.0, 20.0,-20.0},
{ 20.0, 20.0,-20.0}
};
POINT3D Face2[] = {
{-20.0,-20.0,-20.0},
{-20.0,-20.0, 20.0},
{-20.0, 20.0, 20.0},
{-20.0, 20.0,-20.0}
};
POINT3D Face3[] = {
{ 20.0, 20.0, 20.0},
{-20.0, 20.0, 20.0},
{-20.0,-20.0, 20.0},
{ 20.0,-20.0, 20.0}
};
POINT3D Face4[] = {
{ 20.0,-20.0, 20.0},
{ 20.0,-20.0,-20.0},
{ 20.0, 20.0,-20.0},
{ 20.0, 20.0, 20.0}
};
POINT3D Face5[] = {
{ 20.0,-20.0, 20.0},
{-20.0,-20.0, 20.0},
{-20.0,-20.0,-20.0},
{ 20.0,-20.0,-20.0}
};
POINT3D Face6[] = {
{ 20.0, 20.0,-20.0},
{-20.0, 20.0,-20.0},
{-20.0, 20.0, 20.0},
{ 20.0, 20.0, 20.0}
};
// for convenience, an array of pointers to each of the six faces
POINT3D *Faces[] = {Face1,Face2,Face3,Face4,Face5,Face6};
// texture map array
BYTE Texture[6][tmWidth*tmWidth*(vbDepth/8)];
// coordinates defining source polygon vertices within the texture map array
int tmSource[] = {tmWidth-1,tmWidth-1, 0,tmWidth-1, 0,0, tmWidth-1,0};
LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM);
void CheckForMovement(void);
void DrawCube(void);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdParam, int iCmdShow)
{
static char szAppName[] = "FGtmcube";
HWND hWnd;
MSG msg;
WNDCLASSEX wndclass;
wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wndclass.lpfnWndProc = WindowProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground = NULL;
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
wndclass.hIconSm = LoadIcon(NULL,IDI_APPLICATION);
RegisterClassEx(&wndclass);
hWnd = CreateWindow(szAppName, // window class name
"Texture-Mapped Cube", // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL); // creation parameters
ShowWindow(hWnd,iCmdShow);
UpdateWindow(hWnd);
// The message loop processes entries placed in the message queue.
// When no message is ready, call CheckForMovement() to check if
// we want to perform movement.
while (TRUE)
{
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if (msg.message == WM_QUIT)
break;
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
else
CheckForMovement();
}
return msg.wParam;
}
/****************************************************************************\
* *
* WindowProc() *
* *
\****************************************************************************/
HDC hDC;
HPALETTE hPal;
int hVB;
UINT cxClient, cyClient;
int hZB;
int hTM[6];
LRESULT CALLBACK WindowProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
register int i;
switch (iMsg)
{
case WM_CREATE:
hDC = GetDC(hWnd);
fg_setdc(hDC);
hPal = fg_defpal();
fg_realize(hPal);
fg_vbinit();
fg_vbdepth(vbDepth);
hVB = fg_vballoc(vbWidth,vbHeight);
fg_vbopen(hVB);
fg_vbcolors();
hZB = fg_zballoc(vbWidth,vbHeight);
fg_zbopen(hZB);
// define 3D viewport, clipping planes, and initial render state
fg_3Dviewport(0,vbWidth-1,0,vbHeight-1,0.5);
fg_3Dsetzclip(40.0,1000.0);
fg_3Drenderstate(RENDER_STATE);
// obtain the six texture maps from the CUBE.PCX file
fg_tminit(6);
fg_showpcx("CUBE.PCX",FG_AT_XY|FG_KEEPCOLORS);
fg_move(0,tmWidth-1);
for (i = 0; i < 6; i++)
{
#if (vbDepth == 8)
fg_getimage(Texture,tmWidth,tmWidth);
fg_invert(Texture,tmWidth,tmWidth);
#else
fg_getdcb(Texture,tmWidth,tmWidth);
fg_invdcb(Texture,tmWidth,tmWidth);
#endif
hTM = fg_tmdefine(Texture,tmWidth,tmWidth);
fg_moverel(tmWidth,0);
}
fg_setcolor(-1);
fg_fillpage();
return 0;
case WM_PAINT:
BeginPaint(hWnd,&ps);
fg_vbscale(0,vbWidth-1,0,vbHeight-1,0,cxClient-1,0,cyClient-1);
EndPaint(hWnd,&ps);
return 0;
case WM_SETFOCUS:
fg_realize(hPal);
InvalidateRect(hWnd,NULL,TRUE);
return 0;
case WM_SIZE:
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam);
return 0;
case WM_DESTROY:
fg_vbclose();
fg_tmfree(-1);
fg_zbfree(hZB);
fg_vbfree(hVB);
fg_vbfin();
DeleteObject(hPal);
ReleaseDC(hWnd,hDC);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,iMsg,wParam,lParam);
}
/****************************************************************************\
* *
* CheckForMovement() *
* *
* The CheckForMovement() function checks for key presses that control the *
* cube's movement, and if required redraws the cube at its new position and *
* orientation. It is called from the WinMain() message loop when there are *
* no messages waiting. *
* *
\****************************************************************************/
void CheckForMovement()
{
static double xWorld = 0.0, yWorld = 0.0, zWorld = 100.0;
static int xAngle = 0, yAngle = 0, zAngle = 0;
static BOOL Redraw = TRUE;
BOOL ShiftKey;
// check if either shift key is pressed
ShiftKey = fg_kbtest(42) | fg_kbtest(54);
// + and - move cube along the z axis (+ is toward viewer, - is
// away from viewer)
if (fg_kbtest(74))
{
zWorld += 3.0;
Redraw = TRUE;
}
else if (fg_kbtest(78))
{
zWorld -= 3.0;
Redraw = TRUE;
}
// left and right arrow keys move cube along x axis
else if (fg_kbtest(75))
{
xWorld -= 3.0;
Redraw = TRUE;
}
else if (fg_kbtest(77))
{
xWorld += 3.0;
Redraw = TRUE;
}
// up and down arrow keys move cube along y axis
else if (fg_kbtest(72))
{
yWorld += 3.0;
Redraw = TRUE;
}
else if (fg_kbtest(80))
{
yWorld -= 3.0;
Redraw = TRUE;
}
// x rotates counterclockwise around x axis, X rotates clockwise
else if (fg_kbtest(45))
{
if (ShiftKey)
{
xAngle += 6;
if (xAngle >= 360) xAngle -= 360;
}
else
{
xAngle -= 6;
if (xAngle < 0) xAngle += 360;
}
Redraw = TRUE;
}
// y rotates counterclockwise around y axis, Y rotates clockwise
else if (fg_kbtest(21))
{
if (ShiftKey)
{
yAngle += 6;
if (yAngle >= 360) yAngle -= 360;
}
else
{
yAngle -= 6;
if (yAngle < 0) yAngle += 360;
}
Redraw = TRUE;
}
// z rotates counterclockwise around z axis, Z rotates clockwise
else if (fg_kbtest(44))
{
if (ShiftKey)
{
zAngle += 6;
if (zAngle >= 360) zAngle -= 360;
}
else
{
zAngle -= 6;
if (zAngle < 0) zAngle += 360;
}
Redraw = TRUE;
}
// if the cube's position or rotation changed, redraw the cube
if (Redraw)
{
// prepare the z-buffer for the next frame
fg_zbframe();
// erase the previous frame from the virtual buffer
fg_setcolor(-1);
fg_fillpage();
// define the cube's new position and rotation in 3D world space
fg_3Dsetobject(xWorld,yWorld,zWorld,xAngle*10,yAngle*10,zAngle*10);
// draw the cube
DrawCube();
// display what we just drew
fg_vbscale(0,vbWidth-1,0,vbHeight-1,0,cxClient-1,0,cyClient-1);
Redraw = FALSE;
}
}
/****************************************************************************\
* *
* DrawCube() *
* *
* Draws each of the six cube faces in 3D world space. *
* *
\****************************************************************************/
void DrawCube()
{
register int i;
for (i = 0; i < 6; i++)
{
fg_tmselect(hTM);
fg_3Dtexturemapobject((double *)Faces,(int *)tmSource,4);
}
}



kodun tamamı burda
 
Kullandığın library fastgraph "fgwin.h" bu library dosyası yüklü olmalı.
İkinci dosya ise CUBE.PCX dosyası bunun da yüklü olması gerekli.

Fastgraph - Demos, Samples, Patches sitesinden demolarının inceledim bir exe dosya var çalışıyor gözüküyor ancak sonuçta derleyicini istediği başka parametreler de olabilir.
 
kütüphanelerin yüklü olup olmadığını nasıl anlayabilirim yada nerden indirebilirim şu anda google da bir aramam yapıyorum ama pek bir şey çıkacağa benzemiyor açıkçası
 
Bu kütüphaneyi kendi sitesinden indirebilirsin adresi aşağıya yazıyorum:

http://www.fastgraph.com/fg/Windows/fglw603.zip

Ancak bu paket ücretli bir paket 299$ bir ödemesinin olduğunu söylüyor.
Eğer sadece eğitim amaçlı kullanıyorsan ücretsiz paket araştırmanı tavsiye ederim.

sourceforge.net gibi sitelerde bir çok uygulama mevcut
 

Forum istatistikleri

Konular
127,963
Mesajlar
913,927
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst