#include <gtk/gtk.h> GdkPixbuf *create_pixbuf (const gchar *filename) { GdkPixbuf *pixbuf; GError *error = NULL; pixbuf = gdk_pixbuf_new_from_file (filename, &error) ;//图标类型不定 if( !pixbuf ) { fprintf(stderr, "%s\n", error->message) ; g_error_free (error) ; } return pixbuf; } int main(int argc, char *argv[]) { GtkWidget *window; gtk_init (&argc, &argv) ; window = gtk_window_new (GTK_WINDOW_TOPLEVEL) ; gtk_window_set_title (GTK_WINDOW (window), "抱抱") ; gtk_window_set_default_size (GTK_WINDOW (window), 640, 480) ; gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER) ; gtk_window_set_icon (GTK_WINDOW (window),create_pixbuf ("icon/5.ico") ) ;//设置图标 gtk_widget_show (window) ; g_signal_connect_swapped (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL) ; gtk_main(); return 0; }
代码如上,在editplus中运行完全正常
在vs2013中,只要标题含有中文,那么vs2013出来的窗口就没有标题,连默认用文件名做标题的行为也没了.
即是说用vs2013不能开发带汉语的gtk界面了?
此bug暂未找到解决方案
另外好像vs的编译器跟gcc不一样,我在配置的时候并未动用gcc内的东西.
这里提一句
配置vs和gtk程序只要将gtk的 include目录和其子目录 都加到 vs的include里 (注意有两个include在 gtk/lib里);
然后将gcc/lib加到 lib目录
接着搜索 *.lib 将这些文件都加的 附加依赖库中. #在链接/输入的第一项
另外 选择窗口系统;
报错
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 [email protected],该符号在函数 ___tmainCRTStartup 中被引用
1>F:\CODE\C\ege\Win32Project3\Debug\Win32Project3.exe : fatal error LNK1120: 1 个无法解析的外部命令
消除控制台得加上这么一句
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //消除控制台影响
时间: 2024-11-13 09:42:07