`
h_rain
  • 浏览: 121617 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
文章分类
社区版块
存档分类
最新评论

在cygwin中编译gdc 0.23

阅读更多
一 准备
前面的setup过程参考gdc的安装说明.
/cygdrive/d/gdc/gcc-3.4.5是gdc的源码目录
在cygwin的环境下,要不就修改gdc automake文件的版本,要不就安装1.9.4,需要保持版本一致
拷贝cygwin下的cygiconv-2.dll,cygintl-2.dll,cygintl-8.dll到gcc-3.4.5/gcc目录

二 配置
cd /cygdrive/d/gdc/gcc-3.4.5
configure --prefix=/usr/local/gdc --enable-languages=c,d

三 构建
1 
	make
	到配置phobos出错,不用管,进行下面的安装
2 
	make install
3
	cp /usr/local/gdc/bin/gdc /usr/local/gdc/bin/gdc-3.4.5.exe
4	
	cd /cygdrive/d/gdc/gcc-3.4.5/i686-pc-cygwin/libphobos
	PATH='/usr/local/gdc/bin':$PATH CC=/usr/local/gdc/bin/gdc-3.4.5.exe /bin/sh /cygdrive/d/gdc/gcc-3.4.5/libphobos/configure  --host=i686-pc-cygwin --build=i686-pc-cygwin --enable-multilib --prefix=/usr/local/gdc --enable-languages=c,d --with-gcc-version-trigger=/cygdrive/d/gdc/gcc-3.4.5/gcc/version.c --program-transform-name=s,y,y, --srcdir=../.././libphobos --with-target-subdir=i686-pc-cygwin CPPFLAGS='-O2' build_alias=i686-pc-cygwin host_alias=i686-pc-cygwin  --no-create --no-recursion target_alias=i686-pc-cygwin
5
	make
	make install


自己写的备忘,不是很清晰.
大家拍砖的时候,请帮忙完善:)
分享到:
评论
38 楼 qiezi 2007-04-21  
都加上了,睡了先,白天再整。

xpidl刚才已经改完了,白天测试~
37 楼 oldrev 2007-04-21  
偶的:oldrev@gmail.com,把简单的使用说明放在 wiki 上就行了
36 楼 qiezi 2007-04-21  
现在dxpcom在windows/linux上都可以用了,测试应该还算方便。装上DMD,xulrunner,设置一下PATH就差不多了。
35 楼 qiezi 2007-04-21  
把你们的gmail帐号给我,我加上去。
34 楼 h_rain 2007-04-21  
动作真快~
:)
33 楼 qiezi 2007-04-21  
开了:
http://code.google.com/p/dxpcom/
都来加入亚。白天我把代码整理一下传上来。
32 楼 h_rain 2007-04-21  
是呀,qiezi学长弄点教程,我也省事了。
http://www.xulplanet.com/references/xpcomref/
最近这个看的多一些,但光看参考也不行啊,还得有好点的入门教程。

争取明天配好xpcom+d的环境,试试DXpcomm。
31 楼 oldrev 2007-04-21  
qiezi 同志要不你开个项目,这样的话我们也可以帮你干干体力活啊
30 楼 qiezi 2007-04-21  
要不就后天发0.2版吧,我抽点时间写几个简单教程。文档的确是少,所以我是找头文件,看哪个比较简单就用哪个作例子。调用还比较简单,目前我还不知道如何写组件,如何注册组件呢,主要是这方面要好好看一下。
29 楼 h_rain 2007-04-21  
说来惭愧,开始学D以来,代码倒是看了万把行了,真正写过的却不出200行...

而且我这现在的XULRunner是llmozlib patch后的,不知道有什么兼容性问题。

明天下载一个官方的XULRunner试试吧。

是该开始写D代码了呢:)
28 楼 h_rain 2007-04-21  
:)

其实现在缺的还真是Mozilla的中文文档。
我的鸟语其烂无比...

唉...

目标不在大小,有就比没有强,可以说成是赶赶进度才出来的呀~
:)
27 楼 qiezi 2007-04-21  
h_rain你可以修改一下dxpcom 0.1里面的nsISupports.d,然后就可以使用了,有时间帮助测试一下调用XPCOM和编写XPCOM组件,目前这样修改以后应该是已经可以支持这2项功能了。
26 楼 qiezi 2007-04-21  
0.3版这个目标太小了点,只要虚表兼容,现在应该已经可以做这个了。
25 楼 qiezi 2007-04-21  
可以解决就不用他现身咯,等做到0.4版了就发到新闻组里去。

0.4版的目标是:
1、C++风格的XPCOM调用  0.1版已经实现
2、异常风格的XPCOM调用   0.2版即将实现
3、D语言编写C++接口风格的XPCOM组件 0.3
4、D语言编写异常接口风格的XPCOM组件
24 楼 h_rain 2007-04-21  
我也没太看明白代码,尤其是在几个小时内看这么多。
不过可以推测:类,接口,COM接口这3种含有虚表的东东,只有COM接口是没有ClassInfo的,干净的,而其他两个东东的虚表首项是ClassInfo(运行时信息?),所以前面测试时,并没有“弄”出真正的COM接口,仅仅是符合了stdcall调用约定,虚表的0项就被D默认为ClassInfo指针而被跳过了。

现在看,Windows的COM模型中,应该是也没有占位符了。

这样简直太方便了,就等你的IDL编译器出来了,DMD是没有问题了。

qiezi学长加油啊~
23 楼 qiezi 2007-04-21  
它的确是没判断的,算是留了个后门吧,有趣的说。。可以省点事了,0.3版也可以加快了,不过还是要修改IDL生成器,非常烦燥。刚看了一下ridl,太老了,无法在新的ruby上使用,放弃了。打算用一星期去做0.3吧,应该是够了。
22 楼 h_rain 2007-04-21  
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

原来如此,别名居然也可以!!!!!!

暴强的DMD。

qiezi学长夸的我都不好意思了,就是看了看代码,连跟踪都没用呢,代码是不会骗人滴...

21 楼 qiezi 2007-04-21  
还是没看懂,你明白了讲解一下。。大概COM里面也是没偏移的,如果不是IUnknown就会加上偏移。

我正在修改D包装类生成器的一些小问题,明天发布0.2应该是没问题了,有些协议方面的东西我比较烦,直接在文件里写个GPL License,不加内容?
20 楼 qiezi 2007-04-21  
用了个alias,其它文件不用修改了。。。测试了一下是可以用滴
19 楼 qiezi 2007-04-21  
好像是可以滴亚,你中大奖了。。

我改成这样了:

extern(Windows)
interface IUnknown {
  nsresult QueryInterface(nsIID * uuid, void * *result);

  nsrefcnt AddRef();

  nsrefcnt Release();
}

alias IUnknown nsISupports;

我汗。你真是个天才。DMD被你给黑了。。。

相关推荐

    cygwin可以编译生成windows下供调用的dll

    在编译链接时,可以直接链接.lib文件: ```bash gcc main.c MyTest.lib -o output.exe ``` - **确保DLL与EXE同目录** 当程序运行时,需要确保DLL文件与可执行文件位于同一目录下,或者在系统搜索路径中。 ```...

    cygwin 交叉编译的 coturn 服务器可以在windows 下运行

    本文将详细讲解如何在Cygwin环境下交叉编译coturn服务器,并使其在Windows系统下运行。 1. **Cygwin环境搭建** 在开始交叉编译前,你需要安装Cygwin。访问Cygwin官方网站,下载安装程序,运行后选择镜像源并安装所...

    VLC在cygwin中的编译方法和错误解析.doc

    VLC在cygwin中的编译方法和错误解析.doc

    Cygwin 编译 VLC 指南.doc

    - 在编译过程中,可能会遇到缺少依赖的问题,根据提示安装相应的库。 - 确保你的Cygwin安装是最新的,以避免已知问题和安全漏洞。 - 编译VLC可能需要大量的硬盘空间,因此请确保有足够的可用空间。 - 在编译前,阅读...

    redis for Windows 7.0.7 使用cygwin编译

    在Windows 7.0.7系统中使用Cygwin编译Redis 7.0.7版本,首先需要安装Cygwin,并确保在安装时选择了编译Redis所需的依赖包,如gcc、make、autoconf、automake等。 编译Redis的步骤大致如下: 1. 下载Redis源代码:...

    cygwin下的arm交叉编译工具链

    cygwin下的arm交叉编译工具链,cygwin下的arm交叉编译工具链

    使用cygwin自己编译的gdb的源码

    - 配置GDB:在Cygwin终端中导航到源码目录,运行`./configure --host=cygwin`来配置GDB以适应Cygwin环境。 - 编译源码:执行`make`命令,编译过程将生成可执行文件。 - 测试与安装:运行`make check`进行测试,...

    linphone-android 在cygwin下的编译

    ### Linphone Android在Cygwin下的编译指南 #### 一、引言 本文将详细介绍如何在Windows 7操作系统下使用Cygwin环境编译Linphone Android版本的过程。该过程适用于初学者,对于有一定经验的开发者也有一定的参考...

    使用Cygwin编译ffmpeg.doc

    在Windows环境下编译FFmpeg,通常会选择使用Cygwin,因为Cygwin提供了一个类Linux的环境,使得可以在...通过以上步骤,你可以在Cygwin环境中成功编译FFmpeg,并且可以根据需要自定义配置,实现特定功能的FFmpeg版本。

    cygwin Android NDK 交叉编译工具

    3. **Cygwin在Android NDK中的作用**:通过Cygwin,开发者可以在Windows环境下配置和使用NDK,实现对Android的交叉编译,包括设置编译器、链接器和其他构建工具。 **三、Android NDK的配置与使用** 1. **下载和...

    在cygwin下编译srilm的说明文档

    ### 在Cygwin环境下编译与安装SRILM的相关知识点 #### 一、SRILM简介及重要性 SRILM(Statistical Research Institute Language Model)工具包是一种用于构建和应用各种统计语言模型的重要工具。它由SRI ...

    cygwin中安装hadoop+eclipse编译源码并调试

    本文将详细介绍如何在Cygwin中安装Hadoop,并利用Eclipse来编译Hadoop源码以及进行调试。 首先,我们需要安装Cygwin。Cygwin提供了一个模拟Linux环境的平台,包括GCC编译器、Git等工具,这些对于编译和管理开源项目...

    Windows下的Linux编译环境cygwin

    描述:“一个很好用的工具,在windows环境下调试Linux下的程序,Windows下的Linux编译环境cygwin,在程序移植上很有帮助” 标签:“Windows下的Linux编译环境 cygwin” Cygwin是一个强大的开源工具集,它为Windows...

    windows下eclipse集成cygwin编译android_NDK

    下面将详细介绍如何在 Windows 下通过 Eclipse 集成 Cygwin 来编译 Android NDK。 #### 准备工作 在开始之前,请确保已完成了以下步骤: 1. **安装 Cygwin**:Cygwin 是一款在 Windows 上模拟 Unix 运行环境的...

    配套“编译v8引擎”文章使用 cygwin

    通过以上步骤,你不仅学会了如何在Cygwin下编译V8,也了解了Cygwin作为Windows上的类UNIX环境在开发中的作用。这个过程对理解V8引擎的内部工作原理,以及深入学习JavaScript引擎的实现细节非常有帮助。在Node.js环境...

    可以在cygwin下面编译通过的cldc kvm 1.1

    在描述中提到的“cygwin”,是一个在Windows操作系统上模拟Linux环境的工具,它允许用户在Windows上运行许多原本只支持Unix或Linux的命令行工具和程序,包括编译器和构建工具。因此,这个资源包表明了可以在Cygwin...

    android eclipse+NDK+Cygwin编译JNI 教程

    最近在研究JNI,网上说的编译JNI的方法多种多样,挑也挑花了眼,不过我不太喜欢繁琐的东西,感觉能一次搞定的最好。后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接...

    cygwin mingw编译的fltk2 library

    总结来说,这个压缩包提供了一个使用Cygwin和MinGW编译的FLTK2库,适用于在Code::Blocks 8.02中开发Windows GUI应用。尽管未经测试,但开发者可以按照常规的编译流程进行验证和使用,需要注意的是这个版本可能缺少...

    xgboost 已编译 (64位windows下 用mingw64 在 cygwin环境下编译)

    4. **配置编译环境**:在Cygwin终端中导航到XGBoost源码目录,执行`./configure --with-mingw64`,这将生成Makefile用于64位Windows的编译。 5. **编译XGBoost**:运行`make -j4`(-j4表示使用4个线程并行编译,你...

    亲试过可以通过cygwin编译发布cocos2d-x几种中文乱码解决方案

    cygwin可以编译过。但是我感觉直接在代码里面写宽字符=L("中文") 似乎不行。自己编译那个iconv好像也难,用jni回调后java转码似乎又违背了跨平台的真正含义。还有好多未知的系统接口调用,如果都这样干,那不如直接...

Global site tag (gtag.js) - Google Analytics