如何在Mac OS X 10.6(Snow Leopard)上开始使用D

Kri*_*ris 11 macos d osx-snow-leopard

我已经对" D " 感兴趣了几年,最近决定开始真正玩它.我已经能够很容易地掌握基础知识,我喜欢这种语言的基本功能集,我读的越多,我得到的印象越深刻.

现在,我对编写自定义Web应用程序服务器作为业余爱好项目非常感兴趣,我希望它是一个简单的二进制文件,使用动态链接库来存储实际的Web应用程序.我相信D是这次冒险的完美语言.

只有一个大问题......在过去的几天里,我完全无法使用任何类型的IDE设置.我可以在命令行上编译和运行一切,但是我在任何可用的IDE中都可以尝试(Code :: Blocks,eclipse + descent,带D插件的Xcode,甚至Windows上的VirtualBox中运行的Windows D-IDE) XP Pro)唯一发生的事情是:

object.d: Error: module object cannot read file 'object.d'

经过两天尝试不同的事情并遵循教程,这真的让我感到紧张.我想学习有效地使用D,但是我需要一些舒适的工具链,包括编辑器中的代码完成,如果我想保持我的理智,我显然这样做.

[编辑:重点强调真正重要的一点]

有没有人可以帮我设置eclipse或(最好是)netbeans(但似乎没有插件似乎是公开的)给我编译和运行IDE的能力,以及代码完成?在我的Mac上,运行Mac OS X 10.6?

我想使用phobos库(以及一个2.0编译器),但我真的不在乎它的dmdgdmd(gdcmac).

[加成]

我相信我们可以假设我的dmd编译器安装正常,因为它可以从命令行运行.我只是不想在命令行中使用它,因为它很繁琐.问题是关于和IDE,编译器工作,它只是IDE不会

Kri*_*ris 11

好吧,我身上的持久性错误无法让问题独自解决,我终于开始工作了.

在Mac OS X 10.6上运行所需的所有组件是:

  • DMD编译器
  • Eclipse"Galileo"(版本3.4)
  • 降落
  • DSSS
  • 改变为 /usr/etc/rebuild/default
  • 我一起入侵的新文件 /usr/etc/rebuild/macosx.conf
  • Eclipse的全局和每个项目设置

按照这些说明操作后,Eclipse将能够在D项目上完成代码完成,并且您也可以在IDE中构建/运行.

使其运行的实际步骤如下.

  1. 安装digitalmars dmd 2.0编译器
    1. digitalmars.com下载二进制发行版(直接链接到2.041)
    2. 将下载的文件解压缩到~/somefolder(为我创建一个〜/ somefolder/dmd2文件夹,我将在本例的持续时间内使用该文件夹.)
    3. 在终端(/Applications/Utilities/Terminal.app)中将文件移动到目的地
    4. sudo mv ~/somefolder/dmd2/osx/bin/* /usr/bin/ 请在输入时输入您的登录密码
    5. 将刚刚复制的dmd.conf移动到其位置: sudo mv /usr/bin/dmd.conf /etc/dmd.conf
    6. sudo mv ~/somefolder/dmd2/osx/lib/* /usr/lib/
    7. sudo mv ~/somefolder/dmd2 /usr/
    8. 使用您喜欢的文本编辑器进行编辑/etc/dmd.conf以包含以下内容:

[环境]

DFLAGS = -I/usr/dmd2/src/phobos -I/usr/dmd2/src/druntime/import -LL/usr/lib

  1. http://www.eclipse.org/downloads/上提供的数百种eclipse中下载并安装您最喜爱的Mac OS X版eclipse (我为c/c ++挑选了一个cocoa版本)
  2. 安装下降(几乎按照维基中的常规说明)
    1. 运行Eclipse(不要以root身份运行)
    2. 转到Help- > Install New Software从菜单栏.(wtf在Help菜单中做了什么?!)
    3. 复制/粘贴http://downloads.dsource.org/projects/descent/update-site到url字段中.
    4. 按照屏幕说明完成安装.
  3. 从sourceforge安装dsss(直接链接到.dmg)
    1. 像任何其他一样使用磁盘映像上的安装程序包.
    2. 创建一个文件/usr/etc/rebuild/macosx.conf并将以下代码段粘贴到其中.(并保存,duh)
profile=phobos
compiler=dmd
inifile=dmd.conf
exeext=
objext=o
version=DigitalMars
noversion=GNU
version=MacOSX
version=linux
noversion=Unix
noversion=Posix
noversion=Windows
noversion=Win32
noversion=Win64
version=X86
noversion=PPC
noversion=X86_64
version=D_InlineAsm
version=D_InlineAsm_X86
noversion=D_InlineAsm_PPC
noversion=D_InlineAsm_X86_64
version=LittleEndian
noversion=BigEndian

[compile]
cmd=dmd -version=MacOSX -c $i
flag=$i
incdir=-I$i
libdir=-L-L$i
optimize=-O
version=-version=$i

[link]
oneatatime=yes
#cmd=dmd -L-lphobos $i -of$o
cmd=dmd $i -of$o
# cmd=dmd -L--start-group -L-lphobos $i -of$o

libdir=-L-L$i
lib=-L-l$i
flag=-L$i

[liblink]
safe=yes
oneatatime=yes
cmd=if [ ! -z "$o" ]; then ar rc $o $i; fi

libdir=
lib=
flag=

[postliblink]
cmd=ranlib $i

[shliblink]
shlibs=no

[dyliblink]
dylibs=no
Run Code Online (Sandbox Code Playgroud)
  1. /usr/etc/rebuild/default文件更改为:profile=dmd-macosx
    1. 设置Eclipse以完成代码
  2. 在全局eclipse首选项中导航tp D=> Build Path=>User Libraries
    1. 单击New,键入"std",按OK选择新创建的条目,单击Add Directory
      • 导航/usr/dmd2/src/phobos/std并添加它.
    2. 设置Eclipse项目. 您必须手动为每个D项目执行此操作
    3. 使用"D => D Project"向导创建一个新项目(感谢Descent)
    4. 进入项目属性(右键单击Project Explorer中的项目,然后选择Properties)
    5. 在左侧列表中选择D Build Path并在出现的面板中选择Include Path选项卡.
    6. 单击Add Library按钮,然后std在向导的第二页中选择.
    7. 配置extarnal构建工具
    8. 转到External tools configurations...(从构建/运行/调试工具栏中的工具箱前面的小绿色播放按钮下拉菜单中)
    9. 在左侧列表中单击鼠标右键Program,并选择New从上下文菜单中.
    10. 给你的配置一个不错的名称,如"使用dsss构建",并设置以下选项:
      • 地点: /usr/bin/dsss
      • 工作目录:完整路径目录中的项目的dsss.conf文件(如果你没有一个dsss.conf文件中创建一个在命令行:dsss genconfig)
      • 参数:( build或重建,或清理,或......)
    11. 根据需要,重复上面的步骤2和3,以获得尽可能多的构建/运行选项.

恭喜,现在一切都应该有效.

如果由于某种原因这对您不起作用,请告诉我,我会很高兴找出它出错的地方并帮助您使其正常工作.如果有更好或更简单的方式,我也很想知道它.