今天在编译hadoop的pipes的wordcount例子时,总是报错不能成功。

g++ -m64 -I/Users/stephen/Downloads/hadoop-0.20.2/c++/Mac_OS_X-x86_64-64/include wordcount.cpp -Wall -L/Users/stephen/Downloads/hadoop-0.20.2/c++/Mac_OS_X-x86_64-64/lib -lhadooppipes -lhadooputils -lpthread -g -O2 -o wordcount
ld: can't open output file for writing: wordcount, errno=21 for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [wordcount] Error 1

其中关键问题是红色字的部分,以为是xcode的g++问题,还一度准备安装gcc。也以为是编译过的pipes静态库的问题,用ant把整个hadoop中c++有关的都编译了一次,反复检查尝试后还是不行。编译选项-m64也换过-m32。。。

后来不经意在google查到一个类似错误的讨论(还是stackoverflow,之前不觉得是这个原因,但慢慢已经感觉不是编译器和静态库的问题,而是mac不能链接出object程序,因为已经可以编译链接出a.out来使用,都正常),看完后总算发现一个小细节:mac编译链接时其实会生成一个同名目录,而且默认大小写不敏感。我在同一个目录下有个WordCount的目录,而我的makefile中的target是wordcount,没想到两个细节问题的集合竟然导致链接失败。

最终把target的名称换成wordcountmap马上OK,一切都安静了。

一个在mac上编译c++程序的低级失误的更多相关文章

  1. 尝试在Mac上编译DNX

    自从XRE改名为DNX至今,从来没有在Mac OS X上成功编译过DNX.一直很纳闷,难道DNX的开发人员不用Mac?今天突然明白了,DNX的开发人员真的不用Mac.而且DNX用的2个持续集成服务Ap ...

  2. MAC 上编译安装nginx-rtmp-module 流媒体服务器

    MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...

  3. Mac上编译并运行Android5.0源码

    下载.配置环境.build和运行参考的都是Android Source提供的文档,包括:Initializing a Build Environment,Downloading the Source和 ...

  4. Mac上微信小程序官方开发工具卡死的问题

    Mac上微信小程序官方开发工具打开后卡死,无法操作,也关不掉,解决方案: 三步: 1.在应用中删除“微信web开发者工具” 2.删除一下几个配置和缓存文件: 1.-/Library/Applicati ...

  5. cgo在mac上编译

    用了cgo mac上编译不过的可以试试下面的方法 ../../pkg/mod/github.com/mattn/go-sqlite3@v1.:: fatal error: 'stdlib.h' fil ...

  6. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  7. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  8. 近期Mac上编译geany软件的总结

    以前在Mac上装过port,后来改为brew.但是原来port装在/opt/local下的很多程序没删掉,path路径也没改,导致很多程序被重复安装,配置混乱.最后我痛下狠心用port uninsta ...

  9. 在Mac电脑编译c51程序

    如果不是Seven问起来,我以为C51这种东西已经属于历史遗迹了.不过简单搜索了一下,发现c51老而弥坚,仍然茁壮的生长着.原因据说,一方面是有很大的用户群和既有的软硬件资源,另外一方面,的确在很多的 ...

随机推荐

  1. Linux定时任务Crontab命令详解

    linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...

  2. 禁止select下拉框的其中某个选择项不能被选择

    <select name='Grade' class='s8'> <option value=''>— 请选择 —</option>? <optgroup l ...

  3. 关于PHPExcel

    在学PHPExcel的时候,在网上查了很多资料,花了很多时间,下面是我想要分享给大家的,我找到的并进行了一定修改的亲身实践成功的资料,希望大家对大家有所帮助. 首先,需要下载PhpExcel资料,下载 ...

  4. pycharm Run/Debug Configrations

    操作系统是win10,今天维护scrapy爬虫的时候发现pycharm调试配置失效了,导致花了好大力气去搜索配置的路径.在这儿记录下来方便以后查看. Script:C:\Python27\Lib\si ...

  5. 嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导

    在嵌入式平台上使用了gtest白盒测试工具,覆盖了被测函数,但是不知道自己测试的效果如何,测试行覆盖率.函数覆盖率,分支覆盖率的数据. 便开始研究gcov这个代码覆盖率工具能否使用,来检查白盒测试的效 ...

  6. IO-02

    /** 2 *A2-IO-02. 整数四则运算(10) 3 *C语言实现 4 *测试已通过 5 */ #include "stdio.h" #include "stdli ...

  7. HTML5新属性-----拖放

    最早引入JS拖放功能的是IE4,当时,网页中只有两种对象可以拖放:图像和某些文本.拖动图像时,把鼠标放在图像上,按住鼠标不放就可以拖动它.拖动文本时,需要选中文本,然后可以像拖动图像一样拖动被选中的文 ...

  8. oracle面试

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  9. 查询无序列表中第K小元素

    当需要在无需列表中寻找第k小的元素时,一个显然的方法是将所有数据进行排序,然后检索k个元素.这种方法的运行时间为O(n log(n)). 无序列表调用分区函数将自身分解成两个子表,其长度为i和n-i. ...

  10. php-GD库的函数(一)

    <?php //getimagesize - 取得图片的大小[即长与宽] //print_r(getimagesize("./logo_i.gif")); //Array ( ...