码迷,mamicode.com
首页 > 其他好文 > 详细

vs2013开发gtk的一个小问题

时间:2015-08-21 18:48:52      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

#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: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
1>F:\CODE\C\ege\Win32Project3\Debug\Win32Project3.exe : fatal error LNK1120: 1 个无法解析的外部命令

 

消除控制台得加上这么一句
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //消除控制台影响

vs2013开发gtk的一个小问题

标签:

原文地址:http://www.cnblogs.com/xzqhextt/p/4748552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!