为python编译C++模块时一定要注意的事情—————不要在anaconda环境下使用cmake来编译C++扩展模块!!!
平时搞python的人很多都会有安装C++扩展模块的需求,而往往这些C++模块都是使用CMAKE做编译配置的,但是如果你这时候shell环境是使用anaconda的话,那么cmake默认调用的GCC和G++就不是系统目录下的而是anaconda应用环境下的,这样往往会造成G++/GCC编译器版本不对的报错,但是你查看系统目录下的GCC/G++版本却发现不出任何问题,这时候就极有可能是调用了anaconda自带的GCC/G++编译器而不是系统目录下的。
=======================================
最近在给python安装一个C++扩展模块,此时使用的是anaconda创建的python环境,编译过程中总是报错,说 #error "C++ versions less than C++14 are not supported.",于是查看系统的G++版本:

发现系统的g++编译器版本已经是完全支持的,但是此时为什么报错呢。正好我这个时候准备怀疑是CMAKE的问题,打算重新安装cmake,于是想着先进行编译CMAKE,然后再去看看情况。
对CMAKE源码配置,得到下面的结果:

重点信息:
C compiler on this system is: /home/devil/anaconda3/bin/x86_64-conda-linux-gnu-cc -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/devil/anaconda3/include
可以看到在anaconda环境下编译C++扩展默认使用的编译器不是系统路径下的而是anaconda自带的,这样很容易造成版本不支持的问题。
为python编译C++模块时一定要注意的事情—————不要在anaconda环境下使用cmake来编译C++扩展模块!!!的更多相关文章
- Windows环境下使用Cmake ndk编译fdk-aac
		一.废话 最近学习,第一步就是编译.我们需要编译FFmpag,x264,fdk_aac,下面是x264,网上说的很多都是几百年前的,我亲测完美可用 还是那句话 我能力有限,但是我希望我写的东西能够让 ... 
- android源码环境下用mmm/mm编译模块,输出编译log到文件的方法
		android源码环境下用mmm/mm编译模块,输出编译log到文件的方法 1,在android目录下直接用mmm命令编译, log信息保存在android目录下 mmm packages/apps/ ... 
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
		https://blog.csdn.net/shinesun001/article/details/54312402 在centos 7环境下搭建好Lnmp环境之后,发现安装的php有好多扩展都没有安 ... 
- Python 安装第三方模块时 报Retrying(Retry(total=4, connect=None, read=None, redirect=None, status=None))...[WinError 10061]由于目标计算机积极拒绝,无法连接 错误
		今日在安装ddt模块时(Windows系统),cmd报了一个以前从未见过的错误,如下图所示: 经百度,知是镜像源的问题,将安装命令改成如下命令: pip install ddt -i https:// ... 
- Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法
		在使用了 RTKLIB开源包自带的 rtkplot.exe后,知道了它所具有的功能,就想着如何模仿它做出一个 demo.一开始看的是之前下载的 2.4.2版本的 RTKLIB,里面是使用 Delphi ... 
- 服务器个人环境下pytorch0.4.1编译warp-ctc遇到的问题及解决方法
		一.关于warp-ctc CTC可以生成一个损失函数,用于在序列数据上进行监督式学习,不需要对齐输入数据及标签,经常连接在一个RNN网络的末端,训练端到端的语音或文本识别系统.CTC论文 CTC网络的 ... 
- Android Studio2.1.2 Java8环境下引用Java Library编译出错
		转载请注明出处:http://www.cnblogs.com/LT5505/p/5685242.html 问题:在Android Studio2.1.2+Java8的环境下,引用Java Librar ... 
- TensorFlow Python3.7环境下的源码编译(三)编译
		这里要为仅支持 CPU 的 TensorFlow 构建一个 pip 软件包,需要调用以下命令: $ bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_AB ... 
- 我的Java开发学习之旅------>在Dos环境下Java内部类的编译和运行
		习惯了在IDE工具上进行代码编写,连最基本的Javac命令和Java命令都忘记的差不多了,今天对一个Java内部类进行编译和运行的时候,就出糗了.IDE是把双刃剑,它可以什么都帮你做了,你只要敲几行代 ... 
- Win 10环境下6sV2.1模型编译心得
		最新版本6sV2.1模型是通过FORTRAN95编写的,2017年11月代码编写完成,2018年11月发布在模型官网上.通常我们在使用过程中都是调用模型的.exe可执行文件,而下载下来的是FORTRA ... 
随机推荐
- BC6-牛牛的第二个整数
			题目描述 牛牛从键盘上输入三个整数,并尝试在屏幕上显示第二个整数. 输入描述 一行输入 3 个整数,用空格隔开. 输出描述 请输出第二个整数的值. 示例 1 输入:1 2 3 输出:2 解题思路 方案 ... 
- BC5-牛牛学说话之-字符
			题目描述 会说浮点数之后,牛牛开始尝试字符.输入一个字符,输出这个字符. 输入描述 输入一个字符,范围在 ascii 范围内 输出描述 输出这个字符 示例 1 输入:a 输出:a 解题思路 方案一 字 ... 
- CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行
			CloseableHttpClient 连接超时导致XxlJob调度阻塞,影响调度任务的执行 问题原因1.分析日志发现,xxlJob后台界面没有执行时间和执行结果,在某一个时间点之后,某一个任务因为阻 ... 
- FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)
			记录下FFmpeg的学习笔记目录,完整的FFmpeg开发实战内容详见<FFmpeg开发实战:从零基础到短视频上线>一书. 下面是补充的FFmpeg开发笔记内容目录,主要是对<FFm ... 
- Sqlite windows11 安装与使用
			首先进入Sqlite官方网址: https://www.sqlite.org/download.html 然后下载下面框起来的两个压缩文件 下载完成后解压 接下来去配置环境变量,右键此电脑->属 ... 
- OB_MYSQL UPDATE 优化案例
			在工单系统上看到有一条SQL问题还没解决,直接联系这位同学看看是否需要帮忙. 慢SQL: UPDATE A SET CORPORATION_NAME = ( SELECT DISTINCT CORPO ... 
- Ansible的常用模块
			目录 ansible常用模块 1. file模块 1.1 file模块的选项 1.2 file模块的使用 1.2.1 使用file模块在远程主机创建文件 1.2.2 创建目录 1.2.3 删除文件/目 ... 
- FFmpeg开发笔记(三十二)利用RTMP协议构建电脑与手机的直播Demo
			不管是传统互联网还是移动互联网,实时数据传输都是刚需,比如以QQ.微信为代表的即时通信工具,能够实时传输文本和图片.其中一对一的图文通信叫做私聊,多对多的图文通信叫做群聊. 除了常见的图文即时通信,还 ... 
- 实验8.Vlan Hybrid实验
			# 实验8.Vlan Hybrid实验 本实验用于测试华为独有的混合式接口类型hybrid 实验组 配置交换机 对交换机sw1与sw2做具体配置 SW1 vlan ba 10 20 100 int g ... 
- Lfu缓存在Rust中的实现及源码解析
			一个 lfu(least frequently used/最不经常使用页置换算法 ) 缓存的实现,其核心思想是淘汰一段时间内被访问次数最少的数据项.与LRU(最近最少使用)算法不同,LFU更侧重于数据 ... 
