84年的矿泉水

博客园 首页 新随笔 联系 订阅 管理

       为了更好的使用FastDFS(以下简称“DFS”),我们需要对DFS进行一些小范围的DIY。和DFS的作者聊了一下,发现DFS是执行make。sh文件来产生makefile,然后调用make编译执行的,这样的话,在eclipse中就给一些需要改动的朋友带来了困惑,我花了一个晚上的时间,终于让dfs在eclipse的环境中编译成功了。

       我的环境如下,ub9.04的版本,升级了中文语言包和jdk1.6;eclipse是最新从eclipse。org站点上down的cdt版本。现在开始配置:

       1.配置java环境,启动eclipse这些自己网上g一下,一g一大堆;

       2.新建一个项目名称,最好“选择hello world的可执行项目”类型(别的我没试过);

       3.将dfs的所有文件copy进去;

       4.配置编译器,这里需要注意,因为dfs生成是通过make.sh做的,所以我们需要更改项目默认的编译方式,调整为执行make.sh。首先,右击项目,选择属性,然后设置,如图,需要更改builder command部分:

1

       5.库应用路径因为cdt默认的包括了一部分,但是项目之间的应用需要自己添加。(不知道不加会不会有事情,因为编译是通过make.sh来的,不够cdt的make,不引用不知道会不会出错,没试过,有兴趣的朋友可以试试。)如图(右上角第一个绿色的按钮就是加引用路径的):

2

        6.调整你的make.sh。为什么要调整呢?因为你编译的时候,你的当前工作目录不是在dfs的根目录,就是make.sh文件所在的目录,而make.sh中加入了很多的相对路径应用,所以你要在dfs编译寻找别的文件前定位到make.sh所在的目录,否则无法通过编译。因为你执行的是一个sh文件,所以你就可以在进入sh文件后的第一件事情就做转换工作目录,在make.sh文件头加上一句话即可:

“cd make.sh文件所在的物理路径”

如果你还不放心的话,后面还可以加上一句pwd,就是把当前的工作目录打印出来,这样你就可以在控制台上看到了,具体如图:

3

4

前面是我的make.sh更改后的效果,选中的部分是自己加上去的,下面的是我第二次编译时候的控制台反馈,第一,第二行一个是当前执行的编译命令,一个是“pwd”命令显示的文本。

        这样,dfs的源码就可以在cdt中编译了。但是这个方法只限于在linux中。在window中,需要安装cygwin,但是本人没试过,下回试出来了再和大家分享。

       总结上面发生的一切,路径的正确以否直接影响了程序的编译。大家以后在linux平台上要多注意路径的问题。特别是一些绝对路径和相对路径混用的地方要格外小心才是。

posted on 2010-01-17 23:07  xvhfeng  阅读(1192)  评论(1编辑  收藏  举报