C++ Standard for Visual Studio 2015
C++ Standard for Visual Studio 2015
我正在尝试安装MongoDB驱动程序,并正在阅读以下部分https://github.com/mongodb/mongo-cxx-driver/wiki/Download-and-Compile-the-Legacy-Driver
编译c++驱动程序时的SCons选项
根据环境选择合适的选项。请注意,某些标志在旧版本中可能不可用。
关于c++ 11/c++ 14的重要注意事项: boost库不能在不同版本的c++标准中提供稳定的ABI。因此,您必须确保您的应用程序、c++驱动程序和boost都使用相同的语言标准构建。特别是,如果您在启用c++ 11的情况下构建c++驱动程序,则还必须在启用c++ 11的情况下构建应用程序,并链接到c++ 11编译的boost。请注意,在大多数系统上,安装boost发行版的系统或包不是用c++ 11构建的,因此与c++ 11构建的旧驱动程序不兼容。
关于c++标准库的重要注意事项:就像c++ 11的问题一样,所有三个组件(应用程序、boost和c++驱动程序)都是基于同一个c++运行时库构建的,这一点同样至关重要。您不能将链接到libc++的组件与链接到libstdc++的组件混合使用。
重要26compat注意:如果您正在使用26compat分支,则只有在提供——full标志时才启用install-mongoclient目标。类似地,在构建26compat.*
时,必须使用——use-system-boost标志。我的主要问题,我试图找出我的visual studio 2015在我构建解决方案时运行的标准。我试着四处阅读,但我认为我误解了c++ 11和c++ 14的概念。在微软页面上提到VS2015支持c++ 11、c++ 14和c++ 17。但是我怎么知道我现在用的是什么呢?我找不到明确配置的方法。我是c++新手,并且已经编写Java代码很多年了。c++让我很困惑,因为它有很多种类,比如编译器和标准。
文字大多是废话。
ABI是由编译器决定的,而不是标准。c++ 11没有ABI, GCC有一个,MSVC2015有一个。
" c++ 11 enabled"是GCC上的一个设置,它确实会影响它们的ABI。这同样适用于libc++和libstdc++,两者都不是c++ 11标准的一部分。此外,构建环境和操作系统("system Boost version")的混合主要是Linux的事情。
msvc++不是GCC,它不使用libstdc++,所以所有这些都不会影响您。Boost版本甚至不再是msvc++设置,对于最近的几个版本,库配置已经改为每个项目设置。(小贴士:创造激励。
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- Qt Visual Studio 2015 加载项编译问题
- 包含在 <WinSock2> Visual Studio 2015 中时出现错误
- 在 Windows 10 上的 Visual Studio 2015 中使用 _open 和 _setmode
- 如何在不进入 Visual Studio 2015 中的外部库的情况下单步执行我的代码 (F11)
- c++ Visual Studio 2015 快捷方式,用于从选择代码中生成功能
- Visual Studio 2015资源视图和资源编译器使用不同的方法在项目目录中查找图标文件.如何修复
- Visual Studio 2015 中的调试速度很慢 -- 无法关闭页面堆?
- 安装 SFML 后 Visual Studio 2015 中出现错误
- WinDBG适用于从Visual Studio 2015保存的转储,但不适用于任务管理器。显示异常代码"not found"
- Visual Studio 2015 安装问题
- 迁移到 Visual Studio 2015 时 ATL 不起作用
- Qt5.9.1 和 Visual Studio 2015 添加了 Qt WebEngine 模块
- 外部 "C" Visual Studio 2015 中的显式类型错误,DLL 测试代码
- CMake 和 Visual Studio 2015 - C 编译器 cl.exe 无法编译简单的测试程序
- 如何在 Linux 中运行 Visual Studio 2015 托管 c++ 测试函数?
- Visual Studio 2015:在远程编译(在Raspberry上)和本地编译(在Windows上)之间切换
- 如何调试Visual Studio 2015中的现有C 源代码
- Visual Studio 2015更新3 -C 编译器错误
- 包括DLL中的OpenVDB;将错误与Visual Studio 2015联系起来