2012-01-11 84 views
-2

如果我有这样的一个主要功能:与Visual Studio和C++/OpenGL的COUT输出

int main(int argc, char **argv) { 
    glutInit(&argc, argv); 
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); 
    glutInitWindowSize (800, 600); 
    glutInitWindowPosition (100, 100); 
    glutCreateWindow ("A"); 

    init(); 
    glutIdleFunc(update); 
    glutDisplayFunc(draw); 
    glutReshapeFunc(resize); 
    glutKeyboardFunc(keyboard); 
    glutSpecialFunc(specialKeyboard); 
    glutMouseFunc(mouse); 

    cout<<x<<" "<<"Printed out variable x"<<endl; 
    cout<<y<<" "<<"Printed out variable y"<<endl; 
    cout<<z<<" "<<"Printed out variable z"<<endl; 
    glutMainLoop(); 
    return 0; 
} 

我在哪里可以看到COUT调用的结果呢?

+5

控制台窗口? – crashmstr 2012-01-11 16:56:46

+4

我想你没有设置子系统链接器标志为CONSOLE。 – mkaes 2012-01-11 17:00:51

+0

哪个GLUT实现? – genpfault 2012-01-11 17:16:31

回答

8

如果您在控制台应用程序项目中工作,那么输出应该出现在控制台(类似命令提示符的窗口,可用OpenGL窗口打开)上。

如果您没有在控制台应用程序中工作,而您有一个Win32或Empty项目,那么您必须将子系统链接器标志设置为CONSOLE,正如mkaes在他的评论中指出的那样。要做到这一点(在Visual Studio 2010中):

  • 在解决方案资源管理器中右键单击您的项目。
  • 点击弹出列表底部的'属性'。
  • 在左侧的导航列表中,展开'链接器'并点击'系统'。
  • 列表中的第一个变量应该标记为“SubSystem”。
  • 单击此变量的下拉列表,然后选择'控制台(/ SUBSYSTEM:CONSOLE)'
  • 应用设置并再次运行您的项目。