codeblocks下gtk环境配置问题求解

teardrop 2014-01-09 08:02:25
本人在linux下ubuntu已经配置好了codeblocks和gtk2,先需要在win下跨平台,所以要在win下安装codeblocks并配置gtk2.
系统是:win7 64位GHOST版
C:B下载了:codeblocks-13.12mingw-setup.exe
gtk+下载了:gtk+-bundle_2.22.1-20101229_win64,64位

安装C:B之后,将gtk解压到D盘resource目录下。设置环境变量D:\resource\gtk+\bin。`pkg-config --cflags gtk+-2.0`可以得到结果。同时gtk-demo也可以执行。然后打开C:B,新建gtk工程,设置位置,OK,设置Global variety,搞定。然后编译的过程中出现问题如下:
||=== Build: Debug in newgtk (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `helloWorld':|
D:\CB\newgtk\main.c|8|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|8|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|8|undefined reference to `gtk_message_dialog_new'|
D:\CB\newgtk\main.c|9|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|9|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|9|undefined reference to `gtk_window_set_position'|
D:\CB\newgtk\main.c|10|undefined reference to `gtk_dialog_get_type'|
D:\CB\newgtk\main.c|10|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|10|undefined reference to `gtk_dialog_run'|
D:\CB\newgtk\main.c|11|undefined reference to `gtk_widget_destroy'|
obj\Debug\main.o||In function `main':|
D:\CB\newgtk\main.c|21|undefined reference to `gtk_false'|
D:\CB\newgtk\main.c|21|undefined reference to `g_log_set_handler'|
D:\CB\newgtk\main.c|22|undefined reference to `gtk_init_abi_check'|
D:\CB\newgtk\main.c|23|undefined reference to `g_log_default_handler'|
D:\CB\newgtk\main.c|23|undefined reference to `g_log_set_handler'|
D:\CB\newgtk\main.c|26|undefined reference to `gtk_window_new'|
D:\CB\newgtk\main.c|27|undefined reference to `gtk_container_get_type'|
D:\CB\newgtk\main.c|27|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|27|undefined reference to `gtk_container_set_border_width'|
D:\CB\newgtk\main.c|28|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|28|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|28|undefined reference to `gtk_window_set_title'|
D:\CB\newgtk\main.c|29|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|29|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|29|undefined reference to `gtk_window_set_position'|
D:\CB\newgtk\main.c|30|undefined reference to `gtk_widget_realize'|
D:\CB\newgtk\main.c|31|undefined reference to `gtk_main_quit'|
D:\CB\newgtk\main.c|31|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|34|undefined reference to `gtk_vbox_new'|
D:\CB\newgtk\main.c|35|undefined reference to `gtk_container_get_type'|
D:\CB\newgtk\main.c|35|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|35|undefined reference to `gtk_container_add'|
D:\CB\newgtk\main.c|37|undefined reference to `gtk_button_new_from_stock'|
D:\CB\newgtk\main.c|38|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|38|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|39|undefined reference to `gtk_box_get_type'|
D:\CB\newgtk\main.c|39|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|39|undefined reference to `gtk_box_pack_start'|
D:\CB\newgtk\main.c|41|undefined reference to `gtk_button_new_from_stock'|
D:\CB\newgtk\main.c|42|undefined reference to `gtk_main_quit'|
D:\CB\newgtk\main.c|42|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|43|undefined reference to `gtk_box_get_type'|
D:\CB\newgtk\main.c|43|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|43|undefined reference to `gtk_box_pack_start'|
D:\CB\newgtk\main.c|46|undefined reference to `gtk_widget_show_all'|
D:\CB\newgtk\main.c|47|undefined reference to `gtk_main'|
||=== Build failed: 46 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|


自己google了一下,好像说是链接出现了问题,然后也在link中手动加入头文件,可还是不行,所以求各位帮忙。谢谢了!
...全文
386 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustcodefarm 2014-08-12
  • 打赏
  • 举报
回复
顶一下楼上,注意换成32位的就可以啦!!!!!!!!!!!!!!!!!!!! 帮了大忙啦
teardrop 2014-01-09
  • 打赏
  • 举报
回复
我已经尝试pkg-config --cflags gtk+-2.0;pkg-config --libs gtk+-2.0,将头文件和库文件直接设置到编译器中,但问题还在,还是编译不通过。。。
jiandingzhe 2014-01-09
  • 打赏
  • 举报
回复
没怎么用过codeblocks。但是codeblocks好像不用pkg-config系统。你得人为把gtk所有的库文件加到链接里去。 你设置的似乎只是查找目录,意思应当是找库的时候会找这些目录。而不是要链接哪些库。
teardrop 2014-01-09
  • 打赏
  • 举报
回复
@turingo,具体要怎么操作,我已经设置lib的时候指定了lib:D:\resource\gtk+\lib
图灵狗 2014-01-09
  • 打赏
  • 举报
回复
把gtk2的lib都加进去。
引用 楼主 zdw2619963 的回复:
本人在linux下ubuntu已经配置好了codeblocks和gtk2,先需要在win下跨平台,所以要在win下安装codeblocks并配置gtk2. 系统是:win7 64位GHOST版 C:B下载了:codeblocks-13.12mingw-setup.exe gtk+下载了:gtk+-bundle_2.22.1-20101229_win64,64位 安装C:B之后,将gtk解压到D盘resource目录下。设置环境变量D:\resource\gtk+\bin。`pkg-config --cflags gtk+-2.0`可以得到结果。同时gtk-demo也可以执行。然后打开C:B,新建gtk工程,设置位置,OK,设置Global variety,搞定。然后编译的过程中出现问题如下:
||=== Build: Debug in newgtk (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `helloWorld':|
D:\CB\newgtk\main.c|8|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|8|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|8|undefined reference to `gtk_message_dialog_new'|
D:\CB\newgtk\main.c|9|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|9|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|9|undefined reference to `gtk_window_set_position'|
D:\CB\newgtk\main.c|10|undefined reference to `gtk_dialog_get_type'|
D:\CB\newgtk\main.c|10|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|10|undefined reference to `gtk_dialog_run'|
D:\CB\newgtk\main.c|11|undefined reference to `gtk_widget_destroy'|
obj\Debug\main.o||In function `main':|
D:\CB\newgtk\main.c|21|undefined reference to `gtk_false'|
D:\CB\newgtk\main.c|21|undefined reference to `g_log_set_handler'|
D:\CB\newgtk\main.c|22|undefined reference to `gtk_init_abi_check'|
D:\CB\newgtk\main.c|23|undefined reference to `g_log_default_handler'|
D:\CB\newgtk\main.c|23|undefined reference to `g_log_set_handler'|
D:\CB\newgtk\main.c|26|undefined reference to `gtk_window_new'|
D:\CB\newgtk\main.c|27|undefined reference to `gtk_container_get_type'|
D:\CB\newgtk\main.c|27|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|27|undefined reference to `gtk_container_set_border_width'|
D:\CB\newgtk\main.c|28|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|28|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|28|undefined reference to `gtk_window_set_title'|
D:\CB\newgtk\main.c|29|undefined reference to `gtk_window_get_type'|
D:\CB\newgtk\main.c|29|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|29|undefined reference to `gtk_window_set_position'|
D:\CB\newgtk\main.c|30|undefined reference to `gtk_widget_realize'|
D:\CB\newgtk\main.c|31|undefined reference to `gtk_main_quit'|
D:\CB\newgtk\main.c|31|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|34|undefined reference to `gtk_vbox_new'|
D:\CB\newgtk\main.c|35|undefined reference to `gtk_container_get_type'|
D:\CB\newgtk\main.c|35|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|35|undefined reference to `gtk_container_add'|
D:\CB\newgtk\main.c|37|undefined reference to `gtk_button_new_from_stock'|
D:\CB\newgtk\main.c|38|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|38|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|39|undefined reference to `gtk_box_get_type'|
D:\CB\newgtk\main.c|39|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|39|undefined reference to `gtk_box_pack_start'|
D:\CB\newgtk\main.c|41|undefined reference to `gtk_button_new_from_stock'|
D:\CB\newgtk\main.c|42|undefined reference to `gtk_main_quit'|
D:\CB\newgtk\main.c|42|undefined reference to `g_signal_connect_data'|
D:\CB\newgtk\main.c|43|undefined reference to `gtk_box_get_type'|
D:\CB\newgtk\main.c|43|undefined reference to `g_type_check_instance_cast'|
D:\CB\newgtk\main.c|43|undefined reference to `gtk_box_pack_start'|
D:\CB\newgtk\main.c|46|undefined reference to `gtk_widget_show_all'|
D:\CB\newgtk\main.c|47|undefined reference to `gtk_main'|
||=== Build failed: 46 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
自己google了一下,好像说是链接出现了问题,然后也在link中手动加入头文件,可还是不行,所以求各位帮忙。谢谢了!

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧