标签: libstdc++

我怎么知道每个gcc版本附带的libstdc ++?

我怎么知道每个gcc版本附带的libstdc ++?有没有一种简单的方法来获取此信息而无需安装gcc?

gcc libstdc++

5
推荐指数
2
解决办法
2477
查看次数

在构建期间使moc跳过文件/文件夹

这是一个已知的错误,moc跳过了libstdc ++中使用的宏,如下所述:http://lists.kde.org/? l = ancessitas-devel&m = 132317657926916&q = raw

我正在尝试编译一个使用gcc 4.6.3的项目,因为moc跳过宏而被卡住了.

克服该问题的一种方法是包含此链接中提到的指令:

http://doc.qt.io/qt-4.8/moc.html

但这是耗时的,而不是一个非常干净的方式,因为每个文件都必须有这些指令.

我想知道的是,是否可以配置qmake以使moc跳过某些目录/文件?

编辑:错别字

qt libstdc++ moc

5
推荐指数
1
解决办法
1062
查看次数

在C++ 14模式下为libstdc ++编译clang中的正则表达式程序会导致错误

我编译了clang 3.6.0(trunk 219085)g ++ 4.9.1.为了使用权利libstdc++(6.0.20),而不是我系统中的那个,我有这些环境变量:

set -x LD_LIBRARY_PATH /home/remyabel/gcc-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs /usr/local/lib
set -x PATH ~/install/gcc-4.9.1/bin /home/remyabel/llvm/build/Release+Asserts/bin /home/remyabel/llvm/build/Release+Asserts/lib $PATH
Run Code Online (Sandbox Code Playgroud)

以下调用工作:

g++4.9 -std=c++11 test.cpp
g++4.9 -std=c++1y test.cpp
g++4.9 -std=c++14 test.cpp
clang++ -std=c++11 test.cpp
Run Code Online (Sandbox Code Playgroud)

但clang的C++ 14模式不会让它编译:

clang++ -std=c++1y test.cpp
clang++ -std=c++14 test.cpp
Run Code Online (Sandbox Code Playgroud)

我实际上可以在coliru(clang 3.5.0)上重现这个问题,所以我不认为这个问题纯粹是我.

libstdc++ errors

libc++ no errors

错误消息:

In file included from main.cpp:4:
In file included from /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../include/c++/4.9.0/regex:58:
In file included from /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../include/c++/4.9.0/bits/regex.h:2721:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.0/../../../../include/c++/4.9.0/bits/regex.tcc:632:11: error: member function '_M_end_of_seq' not viable: 'this' argument has type 'const std::regex_token_iterator<__gnu_cxx::__normal_iterator<const …
Run Code Online (Sandbox Code Playgroud)

c++ clang libstdc++ c++11 c++14

5
推荐指数
1
解决办法
931
查看次数

std :: remove_cv应该在const T的数组上产生什么类型?

应该std::remove_cv<const int[3]>生产什么类型?int[3]还是const int[3]

const int[3]array of 3 const int对的?,没有顶级的cv-qualifier.所以它不应该产生const int[3]吗?int[3]我认为最新版本的gcc/libstdc ++正在制作中.这是一个错误吗?为什么/为什么不呢?

c++ libstdc++ type-traits c++14

5
推荐指数
1
解决办法
139
查看次数

/usr/lib64/libstdc++.so.6:未找到版本`GLIBCXX_3.4.15'

我正在尝试运行appium测试.但是我得到错误说:

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
Run Code Online (Sandbox Code Playgroud)

我正在使用RedHat6.6.当我跑:

strings /usr/lib/libstdc++.so.6 | grep GLIBC
Run Code Online (Sandbox Code Playgroud)

我明白了:

GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
Run Code Online (Sandbox Code Playgroud)

是否有可能获得RedHat6.6的GLIBCXX_3.4.15?

c++ linux gcc libstdc++ appium

5
推荐指数
1
解决办法
2万
查看次数

如何在GLIBCXX版本的基础上找到C++ 11的功能

给定此版本的stdc ++库(例如GLIBCXX_3.4.17)的GLIBCXX版本,在哪里可以找到指定已实现哪些功能的文档?

还有一种方法,给定SO NAME版本将提供相同的文档.

我正在研究一个嵌入式系统,它有一个现有版本的libstdc ++; 遗憾的是,提供的交叉编译器(g ++)的版本比目标上的stdc ++库支持的版本更高.不能在目标上升级stdc ++库.在我编写很多代码之前,只发现它没有在目标上运行; 我想事先知道什么是支持和不支持.

我发现GNU文档很有用; 但是,我希望有一个文件,其中一个人可以获得已经实现的符号版本和/或SO NAME,我只是错过了它.

在此先感谢您的帮助

gcc g++ libstdc++ c++11

5
推荐指数
1
解决办法
194
查看次数

是否可以静态链接libstdc ++和wrap memcpy?

我正在尝试在Linux上构建满足以下条件的可执行文件:

  1. 静态链接到libstdc ++和libgcc
  2. 使用最新版本的gcc(版本> = 4.8.2)和glibc(版本> 2.14)构建
  3. 向后兼容旧版本的glibc(版本<2.5)

我当前的开发环境是CentOS 7上的gcc4.8.5,glibc 2.17.由于对memcpy的依赖,构建的二进制文件在glibc <2.14的系统上不起作用.

objdump -T main | fgrep GLIBC_2.14
0000000000000000      DF *UND*  0000000000000000  GLIBC_2.14  memcpy
Run Code Online (Sandbox Code Playgroud)

在glibc 2.14中引入了memcpy的重大变化,所以我想强制使用旧版本.我在.so文件中遇到了这个stackoverflow post 与旧版符号版本的链接,但是由于与libstdc ++相关的链接器问题,它对我不起作用.这是我尝试下面的解决方案.

main.cpp中

#include <iostream>
#include <string.h>

int main(int argc, char** argv)
{
    char source[] = "once upon a midnight dreary...", dest[4];
    memcpy(dest, source, sizeof dest);
    std::cout << dest << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

wrap_memcpy.cpp

#include <string.h>

__asm__(".symver memcpy, memcpy@GLIBC_2.2.5");

void *__wrap_memcpy(void *dest, const void *src, size_t n)
{
    return memcpy(dest, src, …
Run Code Online (Sandbox Code Playgroud)

glibc memcpy libstdc++

5
推荐指数
1
解决办法
1285
查看次数

在更新到gcc 7.3之后将libstdc ++。so.6更新到GLIBCXX_3.4.21和CXXABI_1.3.9

我有一个RHEL服务器(Maipo),我做了安装gcc 7.3(gcc 7.3.0)-发布于2018年1月25日。对于安装gcc,我遵循了如何在CentOS 7.2上使用yum安装gcc 5.3?

但是,当我安装某些软件时(需要gcc> 4.9),我仍然遇到g ++库问题。我以为按指示编译gcc应该提供了正确的库?但我得到:

/lib64/libstdc++.so.6: version CXXABI_1.3.9' not found 
/lib64/libstdc++.so.6: versionGLIBCXX_3.4.21' not found
Run Code Online (Sandbox Code Playgroud)

仍然在g ++的4.8.5版本中(libstdc ++。so.6.0.19-这是那里的唯一版本)。我检查了,但没有达到1.3.9和3.4.21。

由于我订阅了RedHat(学术服务器),因此我无法访问开发人员工具包-适用于我的工具包可以追溯到gcc 4.8.5。

如果有人对如何解决这个问题有任何想法,我将非常感谢您的帮助。并道歉,如果听起来很愚蠢。

gcc libstdc++

5
推荐指数
1
解决办法
8061
查看次数

是否有可能在不依赖编译器内置函数的情况下拥有is_trivially_constructible的库实现?

我正在使用没有is_trivially_constructible类型特征的gcc-4.9.查看libstdc ++源代码(type_traits),这取决于在编译器本身中实现的__is_trivially_constructible.

我想知道是否有可能将这个特性实现为库而不是依赖于编译器,以便我可以在我使用gcc-4.9卡住的项目中使用它.

c++ libstdc++ type-traits c++-standard-library

5
推荐指数
1
解决办法
97
查看次数

C++项目使用现代编译器编译,但与过时的libstdc ++链接

考虑在Centos 7虚拟机或容器中构建和发布C++项目时的情况.默认gccCentos 74.8.为了允许开发人员使用现代C++,最新版本gcc(例如6.3)安装在作为CI服务器运行的Centos 7中.这提供了-std=c++14支持.

[builder@f7279ae9f33f build (master %)]$ /usr/bin/c++ -v 2>&1 | grep version
gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) 
[builder@f7279ae9f33f build (master %)]$ /opt/rh/devtoolset-6/root/usr/bin/c++  -v 2>&1 | grep version
gcc version 6.3.1 20170216 (Red Hat 6.3.1-3) (GCC) 
export CXX=/opt/rh/devtoolset-6/root/usr/bin/c++
make all -j4
...
Run Code Online (Sandbox Code Playgroud)

这是编译和链接命令的简短示例:

[ 78%] Building CXX object CMakeFiles/ucsdos.dir/src/merge_operator_string.cpp.o
/opt/rh/devtoolset-6/root/usr/bin/c++  -Ducsdos_EXPORTS -I/home/builder/src/dos/libucsdos/./src -I/home/builder/src/dos/libucsdos/./include -I/home/builder/src/dos/libucsdos/build/schema/cpp -I/home/builder/src/dos/libucsdos/build/schema -isystem /usr/local/include  -O2 -g -DNDEBUG -fPIC   -frtti …
Run Code Online (Sandbox Code Playgroud)

c++ gcc libstdc++ devtoolset

5
推荐指数
1
解决办法
775
查看次数

标签 统计

libstdc++ ×10

c++ ×5

gcc ×5

c++11 ×2

c++14 ×2

type-traits ×2

appium ×1

c++-standard-library ×1

clang ×1

devtoolset ×1

g++ ×1

glibc ×1

linux ×1

memcpy ×1

moc ×1

qt ×1