C++ 增加1.68。安装

C++ 增加1.68。安装,c++,gcc,boost,c++14,C++,Gcc,Boost,C++14,我正在系统上安装boost 1.68.0。我想验证一下,使用默认系统编译器(本例中为GCC4.4.7)安装不会影响任何利用C++14或更高版本的boost特性。我的项目使用了比GCC4.4.7更新得多的编译器-我是否通过不使用相同的编译器安装来限制我的boost功能集 目前我只使用仅标题库,但如果我开始使用更多,我想确保一切正常。如果您使用的是仅标题库,那么您的系统编译器与此无关-只有您的项目编译器才重要 但是,如果您开始使用预编译的boost库,那么它们必须使用您的项目编译器编译,否则,您可能

我正在系统上安装boost 1.68.0。我想验证一下,使用默认系统编译器(本例中为GCC4.4.7)安装不会影响任何利用C++14或更高版本的boost特性。我的项目使用了比GCC4.4.7更新得多的编译器-我是否通过不使用相同的编译器安装来限制我的boost功能集


目前我只使用仅标题库,但如果我开始使用更多,我想确保一切正常。

如果您使用的是仅标题库,那么您的系统编译器与此无关-只有您的项目编译器才重要


但是,如果您开始使用预编译的boost库,那么它们必须使用您的项目编译器编译,否则,您可能(而且很可能!)最终会导致ABI不兼容,最多会出现链接错误,在最坏的情况下,应用程序中会出现随机错误和崩溃。

如果您使用的是只包含头的库,那么系统编译器就无关紧要了——只有项目编译器才重要


但是,如果您开始使用预编译的boost库,那么它们必须使用您的项目编译器进行编译,否则,您可能(而且很可能!)最终会导致ABI不兼容,表现为(最多)链接错误,最坏的情况是应用程序中的随机错误和崩溃,这取决于您的系统以及您如何执行安装。好吧,这取决于您的系统以及您如何执行安装。但仅限于静态链接,对吗?动态链接应该在运行时处理好,我想…@zeus_masta_funk,不,这与此无关。什么都不会处理,只是错误表现可能会有所不同。我明白了。更一般地说,这主要是因为名字的限制而导致C++库的问题吗?例如,我链接到许多不同的C系统库,这些库都是用默认的系统编译器编译的(到目前为止)还没有发现任何问题。@ ZeuSuMaStasfFink,是的,这是C++的东西。您通常对C库很在行。但只适用于静态链接,对吗?动态链接应该在运行时处理好,我想…@zeus_masta_funk,不,这与此无关。什么都不会处理,只是错误表现可能会有所不同。我明白了。更一般地说,这主要是因为名字的限制而导致C++库的问题吗?例如,我链接到许多不同的C系统库,这些库都是用默认的系统编译器编译的(到目前为止)还没有发现任何问题。@ ZeuSuMaStasfFink,是的,这是C++的东西。您通常可以使用C库。