View Full Version : سوال: غیر فعال کردن کنسول
behnam-s
پنج شنبه 09 اردیبهشت 1389, 17:59 عصر
سلام
من در visual studio 2008 توی یک Console Application یک برنامه OpenGL نوشتم.
حالا می خوام در موقع اجرا پنجره ی کنسول نیاد.
توی قسمت
Project Properies > Linker > Command Line > Aditional options:
string زیر رو نوشتم:
/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
ولی error زیر رو می ده!
Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib
behnam-s
جمعه 10 اردیبهشت 1389, 13:00 عصر
یه جا نوشته برای اجرای این کار (پست قبلی )، «اجرای برنامه باید از تابعی به نام WinMain() یا wWinMain() آغاز شود»
ممنون میشم دوستان راهنمایی کنن. چطور باید این کارو بکنم؟
hoax3r
جمعه 10 اردیبهشت 1389, 14:00 عصر
تابع main رو با این خط عوض کنید، اون قسمت /ENTRY:mainCRTStartup رو هم که اضافه کردین بردارین
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow)
behnam-s
جمعه 10 اردیبهشت 1389, 16:45 عصر
ممنونم ولی با این تغییر error های زیر رو می ده
Error 1 error C2146: syntax error : missing ';' before identifier 'WinMain' c:\users\behnam\documents\visual studio 2008\projects\gltest1\gltest1\gltest1.cpp 40 GLTest1
Error 2 error C2065: 'HINSTANCE' : undeclared identifier c:\users\behnam\documents\visual studio 2008\projects\gltest1\gltest1\gltest1.cpp 40 GLTest1
Error 3 error C2146: syntax error : missing ')' before identifier 'hInst' c:\users\behnam\documents\visual studio 2008\projects\gltest1\gltest1\gltest1.cpp 40 GLTest1
من یه برنامه کوچیک می ذارم اینجا , اگه تونستید یه نگاهی بهش بندازید
hoax3r
جمعه 10 اردیبهشت 1389, 17:38 عصر
خوب تغییراتی که تو کدتون دادم یکی اضافه کردن هدر windows.h است و حذف این خط
glutInit(&argc,argv);
behnam-s
جمعه 10 اردیبهشت 1389, 23:07 عصر
دوست عزیز شدیدا ممنونم.:لبخندساده:
این روش ها فقط تو CLR Console جواب می دن .
CLR برای اجرا به Net. احتیاج داره دیگه ؟درسته؟
راهی هست که تو Win32 Console هم جواب بده؟
Nima_NF
جمعه 10 اردیبهشت 1389, 23:31 عصر
شما وقتی می خواهید با OpenGL کار کنید نباید یک برنامه کنسول بسازید، بلکه باید یک برنامه win32 application بسازید.
اگر تاکنون با برنامه نویسی win32 کار نکردید به این شکل عمل کنید:
در VC++ یک پروژه win32 application بسازید (console انتخاب نکنید)، سپس فقط تابع winmain و هدر فایل ها را نگه دارید و باقی داده های داخل winmain و تابع های دیگر را حذف کنید.
وقتی شما پروژه را به جای win32 console از نوع win32 application می سازید تنظیمات اولیه کامپایلر از کنسول به یک برنامه ویندوزی تنظیم می شود.
اگر برنامه کنونی شما کنسول هست و قصد دارید به win32 application تبدیل کنید، باید آگاه باشید و تمام تغییرات لازم را در properties پروژه اعمال کنید، پس صرفا تغییر main به تنهایی مشکلا شما را حل نمی کند. بهتر هست به روش قبلی ذکر شده عمل کنید و کلا از ابتدا پروژه را بسازید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.