在Visual Studio设置隐藏cmd,GTK程序有效
我在Visual Studio設(shè)置了GTK的開(kāi)發(fā)環(huán)境。GTK2,雖然GTK3現(xiàn)在也比較成熟了,但是一直沒(méi)有找到一個(gè)有效的All in one Bundle, 就放棄了,GTK2目前的資料也是比較多的,gnome上也支持GTK2的API查詢。
話會(huì)正題。
在Visual Studio上編寫(xiě)GTK程序,在運(yùn)行的時(shí)候,總是會(huì)出現(xiàn)一個(gè)黑乎乎的cmd,比較影響美觀。似乎不只是Visual Studio上有,其他程序開(kāi)發(fā)出來(lái)的都有吧,我看了一些貼吧,好像也有同學(xué)問(wèn)到了這個(gè)問(wèn)題。
其實(shí)設(shè)置的方法很簡(jiǎn)單,我也是參看了別人類似的解決方法,才想到的。
附上別人的連接地址
http://blog.csdn.net/sunmingming512/article/details/23842571
原理這個(gè)人已經(jīng)說(shuō)清楚了。
如果想不出現(xiàn)cmd,就需要把/subsystem設(shè)置為window,而設(shè)置了window,系統(tǒng)默認(rèn)會(huì)去程序中找WinMain()入口函數(shù),我們需要把這個(gè)默認(rèn)的入口函數(shù)改為我們的main函數(shù)就行了,也就是把/entry改為mainCRTStartup。
也就是在項(xiàng)目中要設(shè)置兩項(xiàng),一是/subsystem,二是/entry。
可以利用預(yù)編譯實(shí)現(xiàn)
也可以在項(xiàng)目屬性中改,這兩個(gè)屬性分別為
【屬性】-【通用屬性】-【鏈接器】-【系統(tǒng)】-【子系統(tǒng)】(值:窗口)
【屬性】-【通用屬性】-【鏈接器】-【高級(jí)】-【入口點(diǎn)】(值:mainCRTStartup)
這樣就行了。
附帶一個(gè)GTK2樣例(采用后者第二種配置方式,然后把這個(gè)項(xiàng)目改成項(xiàng)目模板,導(dǎo)入visual studio中,以后就不用設(shè)置了)
#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(); }總結(jié)
以上是生活随笔為你收集整理的在Visual Studio设置隐藏cmd,GTK程序有效的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用data store在不同模型中传递
- 下一篇: C程序中变量存放方式介绍