Vala + Gtk在mac os x中不起作用

时间:2014-09-21 13:15:13

标签: macos compilation gtk vala

我通过自制软件安装了Vala,并在osx 10.9.3中编译了一个普通的hello world应用程序。这是错误消息报告:

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgtk-3.dylib,文件是为i386构建的,它不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libgtk-3.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgio-2.0.dylib,文件是为i386构建的,而不是被链接的架构(x86_64):/ Library / Frame / Gtk3.framework /lib/libgio-2.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libatk-1.0.dylib,文件是为i386构建的,而不是被链接的架构(x86_64):/ Library / Frame / Gtk3.framework /lib/libatk-1.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgdk-3.dylib,文件是为i386构建的,而不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libgdk-3.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgdk_pixbuf-2.0.dylib,文件是为i386构建的,它不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libgdk_pixbuf-2.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libcairo-gobject.dylib,文件是为i386构建的,而不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libcairo-gobject.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libpangocairo-1.0.dylib,文件是为i386构建的,而不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libpangocairo-1.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libcairo.dylib,文件是为i386构建的,而i386不是被链接的体系结构(x86_64):/ Library / Frameworks / GTk3.framework / lib /libcairo.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libpangoft2-1.0.dylib,文件是为i386构建的,而不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libpangoft2-1.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libpango-1.0.dylib,文件是为i386构建的,而不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libpango-1.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgobject-2.0.dylib,文件是为i386构建的,它不是被链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libgobject-2.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libglib-2.0.dylib,文件是为i386构建的,而不是链接的体系结构(x86_64):/ Library / Frame / Gtk3.framework /lib/libglib-2.0.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libintl.dylib,文件是为i386构建的,而i386不是被链接的体系结构(x86_64):/ Library / Frameworks / GTk3.framework / lib /libintl.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libfreetype.dylib,文件是为i386构建的,它不是被链接的体系结构(x86_64):/ Library / Frameworks / GTk3.framework / lib /libfreetype.dylib

ld:警告:忽略文件/Library/Frameworks/Gtk3.framework/lib/libfontconfig.dylib,文件是为i386构建的,它不是被链接的体系结构(x86_64):/ Library / Frameworks / GTk3.framework / lib /libfontconfig.dylib

架构x86_64的未定义符号:   " _g_atomic_int_dec_and_test",引自:       helloworld-0067aa.o中的_block1_data_unref   " _g_atomic_int_inc",引自:       helloworld-0067aa.o中的_block1_data_ref   " _g_object_ref_sink",引自:       helloworld-0067aa.o中的__vala_main   " _g_object_unref",引自:       helloworld-0067aa.o中的__vala_main       helloworld-0067aa.o中的_block1_data_unref   " _g_signal_connect_data",引自:       helloworld-0067aa.o中的__vala_main   " _g_slice_alloc0",引自:       helloworld-0067aa.o中的__vala_main   " _g_slice_free1",引自:       helloworld-0067aa.o中的_block1_data_unref   " _g_type_init",引自:       _main in helloworld-0067aa.o   " _gtk_button_new_with_label",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_button_set_label",引自:       在helloworld-0067aa.o中___lambda3_   " _gtk_container_add",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_container_set_border_width",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_init",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_main",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_main_quit",引自:       helloworld-0067aa.o中的__gtk_main_quit_gtk_widget_destroy   " _gtk_widget_set_sensitive",引自:       在helloworld-0067aa.o中___lambda3_   " _gtk_widget_show_all",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_window_new",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_window_set_default_size",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_window_set_position",引自:       helloworld-0067aa.o中的__vala_main   " _gtk_window_set_title",引自:       helloworld-0067aa.o中的__vala_main ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用) 错误:cc退出状态256 编译失败:1个错误,0个警告 [完成2.6s,退出代码1] [shell_cmd:valac --pkg gtk + -3.0 /Users/romanfischer/Documents/Vala/gstreamer/src/helloworld.vala -o app.vala&& ./app.vala] [dir:/ Users / romanfischer / Documents / Vala / gstreamer / src] [路径:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/Library/Frameworks/Gtk3.framework/bin:/Library/Frameworks/Vala.framework/bin]

如何让Gtk Framework发挥作用? 任何帮助高度赞赏。

1 个答案:

答案 0 :(得分:3)

您下载的Gtk +库是针对32位处理器编译的,但您尝试编译为64位。你可以:

  1. 传递-X -m32以构建32位二进制文​​件。
  2. 获取Gtk +的64位二进制文​​件。这可能是更好的选择。