我和D在一起玩了几天,对此感到非常兴奋,直到我试图让gtkd正常工作为止。我现在已经浪费了三天的大部分时间来尝试进行有效的设置,并且开始变得(很早以前就读过)有些士气低落。我想知道在我放弃之前是否有人可以提供帮助。我可以在网上找到很多信息,但这些信息已经过时,因此我不确定我是否正确,甚至认为这是可能的。

其余内容与我到目前为止已经尝试过的一样,如果您有快速的解决方案,则可能不需要阅读它,因此随时跳转至... [跳到此处]

所以,首先,我需要知道,探戈是否实际上可用于D2.0,我相信它最初不是,但现在D2.x可以让您将探戈和phobos一起使用。如果这不是真的,那么我想我已经陷入了第一个障碍,这是一个不起眼的问题。

到目前为止,我已采取的步骤。

  • 我从ubuntu存储库
  • 安装了gdc
  • 我从存储库中安装了libtango-headers(请注意,仅包含标题,没有可用的lib,所以没有太大帮助)
  • 我手动安装了dsss

  • 此设置将编译D,但是当我要安装gtkd(与dsss一起使用)时,它已编译,但是在尝试使用gtkd编译任何内容时遇到了各种错误(与探戈有关)。好吧,正如我提到的,我没有库,所以这应该不是意外的。我尝试手动安装探戈库,但仍然出现很多错误,最后还是求助于dsss net install tango,警告我我无法回到phobos(这使我感到困惑,就像我提到的那样,两者可以同时使用),无论如何,我继续进行,这完全搞砸了我的设置。我现在无法编译任何D。

    抱歉,我不能更明确地说明我在上一节中遇到的错误,我实在不记得了。

    无论如何,我删除了已安装的所有内容。并重新开始。
  • 我从存储库
  • 安装了gdc
  • 我手动安装了dsss

  • 我现在读到最新的探戈不适用于gdc(不确定这是不是真的),所以我
  • 为dmd安装了deb并安装了它。
  • 手动安装了最新的探戈(库和 header )。
  • 与dsss一起安装gtkd

  • 现在,我无法让dsss识别dmd,因此只能将gdc与它一起使用。然而,那没有找到探戈。如果我直接使用dmd,它会找到探戈和gtkd,但是会出现关于volatile语句被弃用的错误。在D2.x中显然是正确的,这使我回到“甚至支持探戈”。

    天哪,我很困惑!

    [跳到此处]

    如果有人可以逐步指导我如何进行有效的设置,我将不胜感激!

    谢谢,T。

    更新:“我们在那里!”

    因此,我从http://www.digitalmars.com/d/download.html下载了dmd.2.049.zip并解压缩到我的主目录,然后执行了export PATH = $PATH:~/dmd2/linux/bin(感谢dsimcha)。

    忘记了dsss。按照http://www.dsource.org/projects/gtkd/wiki/UsingSubversion上的说明获取了gtkd的svn版本。编辑了GNUmakefile以将前缀更改为/home/me/dmd2/linux,并进行了make install

    编辑了~/dmd2/linux/bin/dmd.conf,以便包含路径包括../include(gtkD库放在../lib中,因此我不需要编辑库路径)。

    现在终于要使用gtkD进行编译了,我需要链接到libgtkd和libdl,这是通过dmd mydprog.d -L-lgtkd -L-ldl(感谢jpf)完成的。

    最佳答案

  • Tango不适用于D2。很久以前,就已经进行了一些移植工作,但是这种方法碰壁了,目前尚不清楚它是否真的会完成。 D2的OTOH Phobos比D1的Phobos好得多,因此缺少Tango并不像听起来那样糟糕。
  • GDC支持D2的较旧版本。 gtkD绝对不可能用它进行编译。您应该使用引用DMD编译器。
  • 通常,在Linux上设置DMD的正确方法是简单地将dmd.2.0xx.zip解压缩到您的主目录中,然后执行export PATH = $PATH:~/dmd2/linux/bin以确保DMD可执行文件在您的路径中。然后一切都应该正常工作(使用DMD2和Phobos)。
  • 关于d - 在Ubuntu 10.04上设置可用的D2.x工具链(使用gtkd),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3897671/

    10-10 20:23