在Visual Studio设置隐藏cmd,GTK程序有效
我在Visual Studio設置了GTK的開發(fā)環(huán)境。GTK2,雖然GTK3現(xiàn)在也比較成熟了,但是一直沒有找到一個有效的All in one Bundle, 就放棄了,GTK2目前的資料也是比較多的,gnome上也支持GTK2的API查詢。
話會正題。
在Visual Studio上編寫GTK程序,在運行的時候,總是會出現(xiàn)一個黑乎乎的cmd,比較影響美觀。似乎不只是Visual Studio上有,其他程序開發(fā)出來的都有吧,我看了一些貼吧,好像也有同學問到了這個問題。
其實設置的方法很簡單,我也是參看了別人類似的解決方法,才想到的。
附上別人的連接地址
http://blog.csdn.net/sunmingming512/article/details/23842571
原理這個人已經(jīng)說清楚了。
如果想不出現(xiàn)cmd,就需要把/subsystem設置為window,而設置了window,系統(tǒng)默認會去程序中找WinMain()入口函數(shù),我們需要把這個默認的入口函數(shù)改為我們的main函數(shù)就行了,也就是把/entry改為mainCRTStartup。
也就是在項目中要設置兩項,一是/subsystem,二是/entry。
可以利用預編譯實現(xiàn)
也可以在項目屬性中改,這兩個屬性分別為
【屬性】-【通用屬性】-【鏈接器】-【系統(tǒng)】-【子系統(tǒng)】(值:窗口)
【屬性】-【通用屬性】-【鏈接器】-【高級】-【入口點】(值:mainCRTStartup)
這樣就行了。
附帶一個GTK2樣例(采用后者第二種配置方式,然后把這個項目改成項目模板,導入visual studio中,以后就不用設置了)
#include <gtk/gtk.h> #include <stdio.h>void CloseRequest(GtkWidget *thewindow, gpointer data);gint main(gint argc, gchar *argv[]) {GtkWidget *window;gtk_init(&argc, &argv);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(CloseRequest), NULL);gtk_widget_show(window);printf("Hello GTK\n");gtk_main();return 0; }void CloseRequest(GtkWidget *thewindow, gpointer data) {gtk_main_quit(); }總結
以上是生活随笔為你收集整理的在Visual Studio设置隐藏cmd,GTK程序有效的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用data store在不同模型中传递
- 下一篇: C程序中变量存放方式介绍