Mac os下gcc编译错误解决方案
用gcc编译cpp文件:
$ g++ transE.cpp -o transE -pthread -O3 -march=native
出现以下错误:
dyld: Symbol not found: __ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev Referenced from: $ANTSPATH/ANTS (which was built for Mac OS X 10.13) Expected in: /usr/lib/libstdc++.6.0.9.dylib in $ANTSPATH/ANTS Abort trap: 6
原因是现在用的gcc版本过高,已经用一个新的c++标准库lib++替换原来的libstdc++,要使用这个库的话需要让gcc编译时可以选定低版本gcc(低版本里有libstc++)。
其他解决方案包括在Xcode路径下把libstdc++拷过来,但是我没下Xcode,它有几个G而且评价只有3分/5分
然后gcc -v看了一下自己是用homebrew装的gcc,然后使用
IcarusdeMacBook-Pro:~ icarus$ which gcc
/usr/bin/gcc
只有这样能查看mac自带的gcc可执行文件路径,其余时候因为在~/.bash_profile中设置了gcc默认为gcc-7(即使后来删除当时的配置也没用)。
然后对比以下命令的输出知道只要编译时前缀为/usr/bin/gcc就表示用的是gcc 4.2.1:
类似地,用g++编译时也把前缀改为/usr/bin/g++即可。
编译成功(有warning,是cpp文件本身的问题)
参考:https://github.com/ANTsX/ANTs/issues/551
转载于:https://www.cnblogs.com/IcarusYu/p/11274015.html
Mac os下gcc编译错误解决方案相关推荐
- Linux系统下GCC编译错误:“undefined reference to ‘sqrt‘”
Linux系统下GCC编译错误:"undefined reference to 'sqrt'",解决方法:-lm 数学函数sqrt()位于libm.so库文件中(这些库文件通常位于 ...
- Q106:Mac系统下安装编译PBRT-V3
Mac和Linux比较类似,所以,"Mac系统下安装编译PBRT-V3"和"Linux系统下安装编译PBRT-V3"是非常相似的. 基于"Q106:L ...
- mac os下valgrind的安装
valgrind是一款性能分析工具,功能强大. 在mac os下的安装略有不同,特写此文以记之. 现在最新的版本是3.8.1 tar jxvf valgrind-3.8.1.tar.bz2 cd va ...
- 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器
https://www.cnblogs.com/lgphp/p/3841098.html 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器 flask是一个micro ...
- Mac OS下Tomcat native-APR的安装
Mac OS下Tomcat native-APR的安装 1. 下载并编译APR 下载APR 在终端编译APR cd /<your_apr_dir>/aprCFLAGS='-arch x86 ...
- Mac OS 下使用 afconvert 命令,处理音频格式转换
在上一篇<Mac OS 下使用 you-get 下载音悦台 MV .网易云音乐等>给大家介绍了如何下载MV.音乐等资源,但是出现了一些不常见的音频格式,导致在有些播放器上无法解码播放,所以 ...
- Linux系统怎么编译sin,linux下gcc编译sin函数出错的问题
linux下gcc编译sin函数出错的问题 收藏 Q: I keep getting errors due to library functions being undefined, but I'm ...
- linux下gcc编译c文件生成可执行文件的四个步骤
Linux下gcc编译c文件为可执行文件分为四个步骤: 分别是 预编译.编译.汇编.链接. 1.预编译( 生成 hello.i 文件) 预编译的处理规则: 1. 将所有的 "#define& ...
- mac os android sd卡,如何在Mac OS下永久删除SD卡上的文件?
Mac数据恢复软件可以轻松恢复已删除或格式化的数据.因此,在Mac OS下从SD卡删除文件时,Mac数据恢复软件也可以恢复删除的文件.在某些情况下,仅删除是不够的.例如,当您要丢弃旧的SD卡时,应确保 ...
- Linux下gcc编译c程序生成可执行文件的过程
Linux下gcc编译c程序生成可执行文件 一.准备 hello.c 文件 1.在当前目录下新建c文件 $:vim hello.c 2.按i进入编辑模式.按esc退出编辑模式,输入源代码 #inclu ...
最新文章
- JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)
- 001-测试用例简介
- 对AI毫无了解?本文带你轻松了解AI
- Tomcat 部署项目的三种方法
- Linux命令之hexdump - ”十六“进制查看器
- 阿里巴巴开源技术汇总:115个软件(五)
- FireFox使用百度网盘插件
- 网站中引入百度地图的方法分享(含源码)
- 看完这篇文章,还不知道怎么学单片机,来打我!
- 自己写的随手记事程序
- 勒索病毒爆发波及中石油:2万座加油站断网
- 14期《读万卷书,行万里路》4月刊
- linux 挂载4t移动硬盘,Linux挂载移动硬盘
- 用css3实现图片左右翻转
- python新建word文档_使用Python 自动生成 Word 文档的教程
- 【LoVissy学习笔记】用Python3.82自动发送邮件。QQ邮箱
- 小学四年级上册中的计算机,小学四年级信息技术上册教案
- 2018年4月份 软件发明专利培训
- orb-slam3:优化状态量是camera坐标系下RPV还是body坐标系下RPV探究
- jar包执行命令脚本