注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

独立观察员·网易

分享万岁

 
 
 

日志

 
 

【编辑】使用Visual Studio编写OpenGL程序时如何去除控制台程序的命令行窗口  

2013-12-12 20:37:43|  分类: OpenGL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

【编辑】使用Visual Studio编写OpenGL程序时如何去除控制台程序的命令行窗口

参考: http://blog.163.com/bingcaihuang@126/blog/static/19894212201099112031973/

——独立观察员 2013.12.12

 

    使用微软的Visual Studio编程工具编写OpenGL程序时,建立Win32 Console Application控制台程序后,显示OPENGL窗口的同时还有控制台程序的命令行窗口,这就有点碍眼了,所以想去掉。

 

    网上很多是说:

添加这一句 #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") // 设置连接器选项

        然后使用WinMain作为程序入口

    用这个方法我反正是没有成功过。

 

以下方法可行:

    

在建立工程的时候应该选择"Win32 Application",对于已经建好的工程,需要在项目上右键->属性-> 展开"配置属性"->展开"链接器"->点击"系统"->那个窗口里面,把子系统(SubSystem)选项由控制台(Console)改为窗口(Windows),并在程序开始时使用WinMain作为程序入口(参数需要改),而不是main。

 

原作者附的例子:

  1.     #include <windows.h>  
  2. #include <GL/glut.h>  
  3. void myDisplay(void)  
  4. {  
  5.     glClear(GL_COLOR_BUFFER_BIT);  
  6.     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);  
  7.     glFlush();  
  8. }  
  9. int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev,  
  10.                    PSTR CmdLine, int iCmdShow)  
  11. {  
  12.     int argc = 1;  
  13.     char *argv[] = {"OpenGL Application"};  
  14.     glutInit(&argc, argv);  
  15.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);  
  16.     glutInitWindowPosition(100, 100);  
  17.     glutInitWindowSize(400, 400);  
  18.     glutCreateWindow("第一个OpenGL程序");  
  19.     glutDisplayFunc(&myDisplay);  
  20.     glutMainLoop();  
  21.     return 0;  
  22. }  

 

注意:

1、多加了头文件:#include <windows.h>。

2、main变成了WinMain,并且函数的参数有所不同。

3、在WinMain中,定义了假的argc和argv,方便使用glutInit函数。

 

 

 

 

 

  评论这张
 
阅读(109)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018