gpt4 book ai didi

c++ - 我可以使用 CLang 和 libstdc++ (emmintrin.h)

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:45 30 4
gpt4 key购买 nike

下面的代码

#include <iostream>

int main(void)
{
std::cout << "Hello World!" << std::endl;
return 0;
}

用 g++ 和 clang 都能很好地编译

g++ test.cpp
clang -I /usr/lib/gcc/x86_64-linux-gnu/4.7/include -I /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed -lstdc++ test.cpp

哪里/usr/lib/gcc/x86_64-linux-gnu/4.7/指向libstdc++的包含文件

但是,当我添加额外的 #include <emmintrin.h>

clang 编译失败

In file included from test.cpp:2:
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.7/include/emmintrin.h:36:
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.7/include/xmmintrin.h:36:
/usr/lib/gcc/x86_64-linux-gnu/4.7/include/mmintrin.h:46:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
^
/usr/lib/gcc/x86_64-linux-gnu/4.7/include/mmintrin.h:52:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))

...

/usr/lib/gcc/x86_64-linux-gnu/4.7/include/xmmintrin.h:120:19: error: use of undeclared identifier '__builtin_ia32_divss'; did you mean '__builtin_ia32_minss'?
return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B);

...

根据 http://en.cppreference.com/w/cpp/header ,'xmmintrin.h' 不是标准 C++ 库接口(interface)的一部分,因此我猜它包含 Gnu 特定的东西。我可以使用 clang 以某种方式编译这段代码吗?

如果没有,如何轻松安装clang libc++?
sudo aptitude install libc++-dev找不到包(虽然这在 Ubuntu 16.04 上有效)

我正在使用

"Debian GNU/Linux 7 (wheezy)"
gcc version 4.7.2 (Debian 4.7.2-5) // Target: x86_64-linux-gnu
clang version 3.6.0 (trunk 224504) // Target: x86_64-unknown-linux-gnu

最佳答案

显然,我的 clang 安装不完整。

下载 llvm 和 clang(v3.7.1,因为 v4.0.1 需要 gcc4.8,而我只有 4.7)并在本地构建它 clang -lstdc++ test.cpp 在这两种情况下都可以正常工作。

关于c++ - 我可以使用 CLang 和 libstdc++ (emmintrin.h),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45791490/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com