2012-05-05 70 views
1

如何設置我的項目,以便打開一個窗口而不是控制檯?使用openGL將visual studio安裝到windows子系統?

#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選項有效。但是當我設置入口點爲其他例如「測試」並將main()重命名爲Test()時,我得到此錯誤:錯誤\t **錯誤LNK2019:無法解析的外部符號主要在函數__tmainCRTStartup中引用**請問您可以解釋如何設置? :) – codekiddy

+0

你必須告訴它你想用'-entry:Test'的入口點。儘管如此,我還是把它們放在了一起 - 如果使用WinMain,那幾乎肯定是最簡單,最可靠的方法。 –

+0

**目標屬性>鏈接器>高級>入口點> ... **要在該字段中鍵入什麼內容?它們都不起作用測試或-entry:測試,即使在命令行選項:(例如**目標屬性>鏈接器>高級>命令行> ... ** -entry:測試 – codekiddy

2

見我的答案在這裏:https://stackoverflow.com/a/6882500/524368

(逐字引用):


在項目構建連接選項設置

/SUBSYSTEM:windows 
/ENTRY:mainCRTStartup 

或者使用下面的#pragma 在源文件中使用int main(...)

#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup") 
相關問題