PDA

View Full Version : پیغام خطای کامپایل skipped when looking for precompiled header



ferreroir
شنبه 14 اردیبهشت 1392, 15:45 عصر
سلام دوستان
من یه کد دارم که مال .C هستش توو ویژال استدیو که سولوشن میشازم کنسول وین 32 بعد کد رو میندازم تووش اررور میده
warning C4627: '#include <windows.h>': skipped when looking for precompiled header use
1> Add directive to 'stdafx.h' or rebuild precompiled header
1> : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to
add '#include "stdafx.h"' to your source?


باید چیکار کنم exe build کنه ؟؟؟

اینم کدم:

#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#define BUFF_SIZE 255
void ConcatFile(HANDLE hInFile,HANDLE hOutFile);
int Options(int,LPTSTR *,LPCTSTR);

int _tmain(int argc,LPTSTR argv[]) {
HANDLE hInFile;
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD nIn,nOut;
CHAR buffer[BUFF_SIZE];
int ioSwitch,nArgc;

ioSwitch = Options(argc,argv,_T("-o"));
nArgc=argc;
if(ioSwitch>-1){
nArgc=ioSwitch;
hStdOut = CreateFile(argv[nArgc+1],GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE _NORMAL,NULL);
}
int iArg=0;
for(iArg=1;iArg<nArgc;iArg++){
hInFile = CreateFile(argv[iArg],GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,F ILE_ATTRIBUTE_NORMAL,NULL);
ConcatFile(hInFile,hStdOut);
CloseHandle(hInFile);
}
CloseHandle(hStdOut);
return 0;
}

void ConcatFile(HANDLE hInFile,HANDLE hOutFile){
DWORD nIn,nOut;
BYTE buffer[BUFF_SIZE];
while(ReadFile(hInFile,buffer,BUFF_SIZE,&nIn,NULL)
&& (nIn !=0)
&& WriteFile(hOutFile,buffer,nIn,&nOut,NULL));
return;
}
int Options(int argc,LPTSTR argv[],LPCTSTR OptStr){
int iFlag=0,iArg;
for(iArg=1;iArg<argc;iArg++){
if(!_tcscmp(argv[iArg],OptStr)){
return iArg;
}
}
return -1;
}

حامد مصافی
شنبه 14 اردیبهشت 1392, 17:19 عصر
Did you forget to add '#include "stdafx.h"' to your source?
فکر کنم منظورشو واضح گفته! ظاهرا جوابش هم yes هست. پس لطفاْ stdafx.h رو include کنید.

ferreroir
شنبه 14 اردیبهشت 1392, 17:53 عصر
اینکارو کردم اون موقع 100 تا اررور میده خودت کد رو بنداز تست کن متوجه منظورم میشی

UfnCod3r
شنبه 14 اردیبهشت 1392, 18:22 عصر
به قسمت تنظیمات پروژه برو و بعد
c/c++/precompiled header\ precompiled header => no using

ferreroir
شنبه 14 اردیبهشت 1392, 21:34 عصر
عزیز این تنظیمات که میگید کجاست ؟؟

ferreroir
شنبه 14 اردیبهشت 1392, 23:37 عصر
بالاخره پیداش کردم و توشو پاک کردم ولی همون اررور رو باز داد

developing
دوشنبه 16 اردیبهشت 1392, 10:20 صبح
با سلام

احتمالا باید خط زیر رو بعد از اینکلودها اضافه کنی
using namespace std;

ferreroir
سه شنبه 17 اردیبهشت 1392, 13:28 عصر
عزیز اونم گذاشتم ولی باز همون اررور رو داد . اگه میشه خودتون کدمو کپی کنید توو برنامه ببینید .

developing
چهارشنبه 18 اردیبهشت 1392, 10:12 صبح
با سلام

آقا من اجرا کردم البته در کامپایلر C++ Builder XE2 جواب داد.

اگر برای شما خطا داره باید خطای اون رو عکس بگیری و بذاری اینجا تا بشه راهنمایی کرد.

ferreroir
چهارشنبه 18 اردیبهشت 1392, 22:27 عصر
عزیز این کامپایلر که میگی از کجا دانلود کنم؟؟ من با ویژال استودیو انجام دادمو خطاشم همونیه که توو پست اول گفتم.
جان من یکی کمک کنه

developing
پنج شنبه 19 اردیبهشت 1392, 21:44 عصر
با سلام

من با محصولات مایکروسافت حال نمی کنم و روی سیستم هم ویژوال استودیو نداشتم برات تست کنم.

ولی با Borland C++ 5.02 برات کامپایل کردم و جواب داد.

دیگه از این کامپایلر ساده تر؟؟؟

البته فکر کنم در ویژوال استودیو هدر فایل ها رو باید با توجه به قوانین زیر بنویسی:
۱- بین > و include فاصله نباشه.
۲- آخرش هم نمی خواد h. بذاری.

امتحان کن ببین میشه یا نه.