关于C++中的greater编译问题

本文解决了一个常见的C++编程问题:在使用STL中的set和multiset时,遇到greater未声明的标识符错误。通过介绍正确的头文件包含方式,即加入#include<functional>,有效地解决了该问题。

C++ “greater”: 未声明的标识符错误

 

本人Visual Studio 2015,在使用C++ STL中的set,multiset时

定义multiset <int,std::greater<int>> m 报错

C++ “greater”: 未声明的标识符错误

解决方案:在头文件中加入#include<functional>即可解决

### 解决方案概述 当在 Windows 平台上尝试安装 Python 的某些扩展库时,如果遇到 `Microsoft Visual C++ 14.0 or greater is required` 错误,则表明当前环境中缺失必要的编译器支持。以下是针对该问题的具体解决方案。 --- #### 方法一:安装 Microsoft C++ Build Tools 为了满足编译需求,可以下载并安装 **Microsoft C++ Build Tools** 工具集。这是官方推荐的方式之一,能够提供完整的 C/C++ 编译环境[^3]。 - 访问官方网站地址:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16。 - 下载完成后运行安装程序,在工作负载选项中勾选 “C++ 构建工具” 和其他相关组件。 - 完成安装后重新启动计算机以确保更改生效。 通过此方法可有效解决因缺乏适当版本的 MSVC 而引发的一系列构建失败问题[^1]。 --- #### 方法二:利用预编译二进制文件替代源码安装 对于部分第三方库而言,直接从 PyPI 获取其 wheel 文件可能更为便捷高效。例如: ```bash pip install ecos --only-binary :all: ``` 上述命令强制 pip 使用已存在的二进制分发版而非尝试本地编译[^2]。同样适用于 gensim 或者其他复杂依赖项较多的情况。 另外还可以手动查找对应平台架构下的.whl文件链接来完成指定版本的快速部署: 1. 浏览 https://www.lfd.uci.edu/~gohlke/pythonlibs/#ecos 页面寻找匹配目标操作系统位数以及 python解释器类型的压缩包; 2. 将选定好的 .whl 地址复制粘贴到终端执行如下语句实现离线加载: ```bash pip install http://example.com/path/to/package.whl ``` 这种方法绕过了繁琐耗时且容易出错的手动配置流程,特别适合初学者或者生产环境下追求稳定性的场景应用[^3]。 --- #### 方法三:升级至最新版 Pip 及 Setuptools 有时候旧版本的打包管理软件也可能成为阻碍成功搭建开发环境的因素之一。因此建议定期更新这些基础构件: ```bash python -m pip install --upgrade pip setuptools wheel ``` 保持工具链处于最新状态有助于兼容更多新型态的技术栈组合,并减少不必要的麻烦发生几率[^1]。 --- ### 总结说明 综上所述,面对微软视窗系统特有的 c/c++ runtime library 不足所造成的种种困扰,我们既可以采取根本性措施即引入完整意义上的 build toolchain;也可以灵活运用现成资源比如借助预先制作完毕的 binary distribution 来规避潜在风险;最后别忘了适时维护好个人使用的 package manager ,从而营造更加顺畅愉快的学习体验旅程! ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值