Visual C++ 2005を使いOpenGLをするので環境を設定して、基本的なプログラムは使えるのですが、下記のようにcondfsとヘッダーを入れるとコンパイルエラーがでます。これは、本から抜き取ったプログラムを動かそうとコピー、ペーストしたものです。このプログラムはCBuilderの下でのプログラムなので、VC++だとヘッダーの部分を何か変更しなければいけないと思うのですが、condefsは何のためのヘッダーファイルなのか正直わかりません。mathやiostreamなどはincludeフォルダのcrtフォルダ下にあるので、crt\math.hのようにすべきなんだと思うんですが、condefs.hはどこを探してもヘッダーファイルが見つかりません。どなたかVC++でのやり方がわかる人回答お願いします。
#include <vcl¥condefs.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <iostream.h>
#include <fstream.h>
#define ROWS 32 //36
#define COLS 20 //20
USELIB("C:\Program Files\Microsoft Platform SDK\Lib\glut32.lib");
int main(int argc, char* argv[])
{
char screenoff;
int Pixel[COLS][ROWS], xPass, yPass;
double FinalGrid[COLS][ROWS], Result;
ifstream intens("d:\\rm\\cs2005n0506b\\w4\\grid.dat",ios::in);
for (int a = 0; a < COLS; a++) {
for (int b=0; b < ROWS; b++) intens >> Pixel[a][b];
}
for (int x = 0; x <COLS-2; x++)
{
for (int y = 0; y <ROWS-2; y++)
{
xPass = (Pixel[x][y] + 2 * Pixel[x][y+1] + Pixel[x][y+2]) -
(Pixel[x+2][y] + 2 * Pixel[x+2][y+1] + Pixel[x+2][y+2]);
yPass = (Pixel[x][y+2] + 2 * Pixel[x+1][y+2] + Pixel[x+2][y+2])
- (Pixel[x][y] + 2 * Pixel[x+1][y] + Pixel[x+2][y]);
Result = sqrt((xPass * xPass) + (yPass * yPass));
Result = abs(Result/4);
FinalGrid[x][y] = Result;
}
}
for (int c = 0; c < (COLS-2); c++)
{
for (int d=0; d<(ROWS-2); d++)
{
cout << FinalGrid[c][d];
}
cout << endl;
}
cin >> screenoff;
return 0;
}
なんに使うかわからんもんをincludeするってとこがまずわからん。
抜いて様子みてはいかがです? どっちみち"動きゃいい"ってスタンスでしょうから。
ツイート | ![]() |