2014-09-21 54 views
1

我通过自制软件安装了Vala,并在osx 10.9.3中编译了一个普通的hello world app。这是错误消息报告:Vala + Gtk在mac os中无法工作x

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

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

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

ld:warning:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgdk-3.dylib,文件是为i386而建立的,而不是架构(x86_64):/Library/Frameworks/Gtk3.framework/lib/libgdk-3.dylib

ld:warning:忽略文件/Library/Frameworks/Gtk3.framework/lib/libgdk_pixbuf-2.0.dylib,file i386不是被链接的架构(x86_64):/Library/Frameworks/Gtk3.framework/lib/libgdk_pixbuf-2.0.dylib

ld:warning:忽略文件/Library/Frameworks/Gtk3.framework/ lib/libcairo-gobject.dylib文件是为i386而建立的,而不是架构被链接(x86_64的):/Library/Frameworks/Gtk3.framework/lib/libcairo-gobject.dylib

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

ld:warning:忽略文件/Library/Frameworks/Gtk3.framework/ lib/libcairo.dylib文件是为i386构建的,它不是被链接的架构(x86_64):/Library/Frameworks/Gtk3.framework/lib/libcairo.dylib

ld:warning:忽略文件/库/框架/Gtk3.framework/lib/libpangoft2-1.0.dylib,文件已建立对于i386不是被链接的架构(x86_64):/Library/Frameworks/Gtk3.framework/lib/libpangoft2-1.0.dylib

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

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

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

ld:warning:忽略文件/图书馆/框架/ Gtk3.framework/lib中/ libintl.dylib,文件是专为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:warning:忽略文件/Library/Frameworks/Gtk3.framework/lib/libfontconfig.dylib,文件是为不是被链接的架构(x86_64)的i386而构建的:/ Library /Frameworks/Gtk3.framework/lib/libfontconfig.dylib

为架构x86_64的未定义符号: “_g_atomic_int_dec_and_test”,从引用: _block1_data_unref在HelloWorld的-0067aa.o “_g_atomic_int_inc”,从引用: _block1_data_ref中的HelloWorld -0067aa.o “_g_object_ref_sink”,引用来自: __vala_main in helloworld-0067aa.o “_g_object_unref”,从引用:在的HelloWorld-0067aa.o _block1_data_unref中的HelloWorld-0067aa.o “_g_signal_connect_data” __vala_main,从引用: __vala_main在HelloWorld的-0067aa.o “_g_slice_alloc0”,从引用: __vala_main在HelloWorld的-0067aa.o “_g_slice_free1”,从引用:在HelloWorld的-0067aa.o “_g_type_init” _block1_data_unref,从引用: _main中的HelloWorld 0067aa.o “_gtk_button_new_with_label”,从引用:在HelloWorld的 __vala_main -0067aa.o “_gtk_button_set_label”,引用自: ___lambda 3_在的HelloWorld-0067aa.o “_gtk_container_add”,从引用: __vala_main在HelloWorld的-0067aa.o “_gtk_container_set_border_width”,从引用:在的HelloWorld-0067aa.o “_gtk_init” __vala_main,从引用: __vala_main在的HelloWorld 0067aa.o “_gtk_main”,从引用:在HelloWorld的-0067aa.o “_gtk_main_quit” __vala_main,从引用: __gtk_main_quit_gtk_widget_destroy中的HelloWorld 0067aa.o “_gtk_widget_set_sensitive”,从引用:在helloworld- ___lambda3_ 0067aa.o “_gtk_widget_show_all”,引用自: __vala_main i Ñ的HelloWorld-0067aa.o “_gtk_window_new”,从引用: __vala_main在HelloWorld的-0067aa.o “_gtk_window_set_default_size”,从引用:在的HelloWorld __vala_main: __vala_main在HelloWorld的-0067aa.o “_gtk_window_set_position”,从参考-0067aa.o “_gtk_window_set_title”,引用来自: __vala_main在helloworld-0067aa.o中 ld:找不到架构x86_64的符号 clang:错误:linker命令失败,退出代码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] [path:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/Library/Frameworks/Gtk3.framework/bin:/Library/Frameworks/Vala。框架/斌]

如何让Gtk框架工作? 任何帮助高度赞赏。

回答

3

您下载的Gtk +库文件是为32位处理器编译的,但您正在尝试编译为64位。您可以:

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

对我不起作用。做1.结束与'unknon目标CPU'i386' – HSRF 2014-09-22 10:57:45

+0

我甚至不知道在哪里找到-X的可用选项参数。关于option2:不知道在哪里可以找到64位Gtk + for vala for mac或者如何在vapi中替换它 – HSRF 2014-09-22 11:05:47

+0

对不起,应该是'-m32'。纠正。 我不确定你从哪里得到这些二进制文件,因为OS X没有官方的Gtk +二进制文件。你不需要替换VAPI。 VAPI是源代码级别。 – apmasell 2014-09-22 18:12:51