2012-05-05 2 views
1

Как настроить мой проект так, чтобы он открывал окно вместо консоли?настроить визуальную студию на подсистему Windows с помощью openGL?

#include <GL\glew.h> 
#include <GL\glfw.h> 

int main() 
{ 
    glfwInit(); 
    glfwOpenWindow(0, 0, 0, 0, 0, 0, 0, 0, GLFW_WINDOW); 
    glfwTerminate(); 
    return 0; 
} 

Этот код открывает окно, но также открывает консоль, как настроить мой проект так, чтобы отображалось только окно? Использование VS 2010.

ответ

1

Компонент автоматически предполагает, что вы хотите использовать консольную подсистему, когда у вас есть функция с именем main. Несколько очевидных (но непроверенные) возможности будет:

  1. Используйте точку входа по имени WinMain
  2. Явное указание -subsystem:windows линкера
  3. (1 | 2) использовать совершенно другую точку входа, рассказать линкер как точки входа, так и подсистемы.
+0

Спасибо, опция WinMain работает. но когда я настраиваю точку входа на что-то еще, например «Test» и переименовываю main() в Test(), я получил эту ошибку: Ошибка \t ** ошибка LNK2019: неразрешенный внешний символ main, указанный в функции __tmainCRTStartup ** Можете ли вы объясните, как настроить это? :) – codekiddy

+0

Вы должны указать ему точку входа, которую хотите использовать с помощью '-entry: Test'. Как бы то ни было, если использовать 'WinMain', это почти самый простой и надежный способ. –

+0

** Свойства объекта> линкер> продвинутый> точка входа> ... ** Что ввести в это поле? ни один из них не работает. Тест или -entry: проверьте, даже при настройке в командной строке: (например, ** Свойства объекта> компоновщик> расширенный> командная строка> ... ** -entry: Test – codekiddy

2

Смотрите мой ответ здесь: https://stackoverflow.com/a/6882500/524368

(дословная цитата):


В проекте сборки опции компоновщика набор

/SUBSYSTEM:windows 
/ENTRY:mainCRTStartup 

Или используйте следующие #pragma в исходном файле с int main(...)

#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")