gpt4 book ai didi

Ada GPS IDE 编译器错误架构 x86_64 的 undefined symbol

转载 作者:行者123 更新时间:2023-12-04 04:47:12 26 4
gpt4 key购买 nike

试图让 GtkAda 工作。没有自己编译这个库,遇到了很多问题,最后在网上找到了一个预编译库。当然,即使将其添加到我的路径中,GPS 也没有找到它...

所以我手动将它添加到我的项目中,GPS 开始编译。这只是一个简单的例子,看看是否一切正常。刚开始学编程。

WITH Gtk.Main ;          
USE Gtk.Main ;
WITH Gtk.Window ;
USE Gtk.Window ;
WITH Gtk.Enums ;
USE Gtk.Enums ;

PROCEDURE MaFenetre IS
win : Gtk_window ;
BEGIN
Init ;
Gtk_New(win,Window_Popup) ;
win.show ;
Main ;
END MaFenetre ;

这给了我这个错误:

gnatlink /Users/laurentlutgen/GPS/mafenetre.ali -o
/Users/laurentlutgen/GPS/mafenetre
Undefined symbols for architecture x86_64:
"_ada_c_enum_value_size", referenced from:
.
.
.
"_pango_tab_array_new", referenced from:
pango_tabs__pango_new in pango-tabs.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit
status gnatlink: error when calling /usr/local/gnat/bin/gcc
gnatmake: * link failed.
[2013-08-01 21:16:46] process exited with status 4 (elapsed time: 09.38s)



编译器提示的文件列表很长。

任何人都知道如何解决这个问题。

我使用 AdaCore for MacOS X 的最新版本 gnat (2013)。我使用 MacOS 10.8。
GtkAda 库是 xadalib 2012。

谢谢

洛朗

最佳答案

据我所知,gnatlink没有通过链接所需的库。您说您手动将 GtkAda 添加到您的项目中。通过这样做,您可能错过了 *.gpr 中指定的所有链接器选项。 GtkAda 文件,因此您的二进制文件不会链接到 GTK+ 库。

建议您尝试获取 GPS 来查找已安装的 GtkAda 项目文件。您可以通过设置 ADA_PROJECT_PATH 来做到这一点。在启动 GPS 之前。如果 GtkAda 位于 GNAT GPL 的默认路径中,则如下所示:

$ export ADA_PROJECT_PATH="/usr/local/gnat/lib/gnat"
$ gps

您说您使用的是在互联网上找到的预编译二进制文件。您是否知道 GtkAda 与 GNAT GPL 编译器捆绑在一起?您应该使用它,除非您想使用 gtk-quartz 作为后端(不需要 X11)。如果是这种情况,您可能会找到 instructions I wrote使用 gtk-quartz 编译 GPS 很有帮助(正如 Simon 已经指出的那样)。

如果你愿意,你可以试试我的 GPS port to OSX .默认情况下,它能够加载 *.gpr与 GNAT GPL 捆绑的文件。关于 Usage页面,您会找到如何更改 ADA_PROJECT_PATH 的说明如果您在其他地方安装了 GNAT。

如需进一步帮助,您应该发布 *.gpr你的项目文件。

编辑:

我的立场更正:GtkAda 实际上不包含在 GNAT GPL 发行版中,无论出于何种原因。由于 XmlAda 被包含为要链接的项目,我确信 GtkAda 也是,但它不是;所以使用 XAdaLib 似乎是最简单的选择。你要点 ADA_PROJECT_PATH到 XAdaLib 的安装目录,而不是通常的 GNAT 目录,以便能够使用 GtkAda。

关于Ada GPS IDE 编译器错误架构 x86_64 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18003372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com