我正在尝试使用icpc与C++ 11功能,但是我需要一个C++ 11 stdlib,intel不提供。在非标准位置使用icpc与gnu libstdC++
我在RHEL 6上以用户身份运行,因此系统libstdC++已过期。有一个较新的版本安装,但它是在一个非标准的位置。
如何链接到非标准位置的gcc std库?我使用哪些标志?
我正在尝试使用icpc与C++ 11功能,但是我需要一个C++ 11 stdlib,intel不提供。在非标准位置使用icpc与gnu libstdC++
我在RHEL 6上以用户身份运行,因此系统libstdC++已过期。有一个较新的版本安装,但它是在一个非标准的位置。
如何链接到非标准位置的gcc std库?我使用哪些标志?
我不知道ICC,但是您是否曾尝试过分别用于标头和库的通常-I
和-L
选项?
我会尝试运行较新的g++
与-v
标志,它会告诉你它搜索它的头文件和库的所有目录,然后告诉ICC查看这些相同的路径。
我很确定RHEL6没有配备GCC 4.0,因为RHEL5带有GCC 4.1!我认为它在RHEL6上是4.4,如果内存服务正确,它支持一些C++ 11功能,但是如果ICC在使用-std=c++11
时没有定义,则可能需要定义__GXX_EXPERIMENTAL_CXX0X__
。
所以,-I和-L是用于正常库的包含和库目录...但不是stdC++不同? –
不,它的标题分散在几个dirs中,但是这些都是 –
嗯。它在这里使用系统库就好了(ICC 13.0.0 20120731)。我不必指定任何特别的东西。你真的启用C++ - 11模式吗? ('-std = C++ 11'编译器标志。) –
问题是系统标准库是旧的(gcc 4.0也许)。我需要链接到不同版本的GCC中C++ std库的版本,该版本位于不同的位置。 –
啊,好的。对不起,但不知道如何做。我通过包管理器安装了ICC,从来没有处理过这些东西。 –