问题标签 [clang++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - clang++ 是否对局部静态变量进行线程安全初始化?
clang++ 是否对局部静态变量进行线程安全初始化?
GCC 确实如此,除非您使用误导性命名的-fno-threadsafe-statics
. 我正在使用 Apple clang 2.0 版(tags/Apple/clang-139)(基于 LLVM 2.9svn)。
c++ - 铿锵声“你好,世界!” windows中的链接错误
我刚刚下载了 CLang 源代码,使用 CMake 创建了一个 Visual C++ 10 IDE 工作区,并从 Visual C++ 10.0 (express) 构建了所有内容。
现在我在 hello world 上收到一堆链接器错误:
那么我能做些什么呢?
c++ - clang++ 和 u16string
这行简单的代码和最新的 clang++ 我玩得很开心
c++ - 在 Clang 上禁用“移动构造函数可用时删除复制构造函数”
在 StackOverflow 上查看这里我发现在 Clang++ 上使用 C++11 标准时,如果您已为您的类定义了移动构造函数,则隐式构造函数生成被禁用,即复制构造函数被“显式删除”。
有什么办法可以禁用这种行为?
另外,这种行为是否标准化?因为我在 GCC 中没有相同的行为。
c++ - 带有模板化基类成员的 g++ 编译器错误
我正在尝试使用 g++ 编译一些 Microsoft Visual C++ 代码。现在我遇到了一个我真的无法理解的编译器错误。(简化的)代码如下所示:
当我尝试使用 g++(版本 4.4.5)编译它时,我收到以下错误:
如果我从方法 A::call 中删除模板类型 (Ret),则代码编译得很好。任何人都可以看到这里有什么问题吗?
谢谢!
c++ - g++ 4.6 版本号文件头 cstring 所要求的文件
bits/c++config.h
头文件所需的 c++ 包含目录中没有调用cstring
文件。但是当我包含标题cstring
并使用 编译时g++
,它不会给我错误。当我尝试通过clang++
以下方式使用编译器编译程序时出现问题。
我在 Ubuntu 11.04 上使用 g++ 4.6.1
什么地方出了错?
macos - clang compiler warnings Mac OS X
When I compile my program I get compiler warnings. I have been trying to fix them for a while now.
This is how I compile:
This is the warning I get:
I used to compile it without warnings before apple switched to clang. right now c++ is just a symbolic link to clang.
I was wondering if smbd had the same kind of issue?
Any ideas?
Thanks
hmm... it seems like it is a bug(or feature): link.
But I think I found a work-around, instead of using MF to specify the output file, I just redirect it to the file like this:
c++ - clang 在查找声明方面与 gcc 有何不同
我有一个 util.h/.cpp ,其中 istreams 的 operator>> 重载,看起来像
和
在其他一些文件中,我使用这样的构造:
这与 gcc/g++ (v. 4.6.3) 配合得很好,但现在我想使用 clang (v 3.0) 并得到错误说明,找不到适当的运算符重载:
为什么clang找不到合适的声明,而gcc没有问题。我怎样才能解决这个问题?
imagemagick - 使用自动工具将“-stdlib=libc++”传递给 c++ 链接器
我正在尝试使用 clang++ 和 libc++ 编译 ImageMagick(尤其是 Magick++)。因此我需要将 -stdlib=libc++ 传递给编译器和链接器。
虽然 CXXFLAGS="-stdlib=libc++" 可以正常编译,但 LDFLAGS="-stdlib=libc++" 似乎只影响 C 链接器。
链接 C++ 库时如何正确告诉 ./configure 或 make 使用此标志?
c++ - catch(...) 吞下 xcode llvm 3.0 中的所有其他捕获
我试图让 googletest 在我的 c++ 项目上运行,其中一部分涉及使用EXPECT_THROW(statement, expected_exception);
. 我正在使用 XCode 并选择了“Apple LLVM Compiler 3.0”。所有这些都在 Snow Leopard 10.6.8、XCode 4.2 上。
即使使用显式虚拟案例,我也无法通过任何这些测试EXPECT_THROW(throw std::runtime_error(), std::runtime_error);
自己扩展宏(从 gtest/internal/gtest-internal.h:1114 GTEST_TEST_THROW_)到
然后在gdb中设置一个断点catch catch
并单步执行,我可以看到catch(runtime_errors)
被跳过,并且catch(...)
正在执行。如果我注释掉该catch(...)
块,则catch(std::runtime_error const& e)
执行正确的语句。
将我的编译器设置为“LLVM GCC 4.2”可以解决这个问题,但我想以 clang++ 为目标。
我单独的 EXPECT_THROW 测试用例在命令行上使用 clang++ 手动编译时有效,所以我认为它一定是一些深奥的 xcode 或 llvm 设置?或者也许 LLVM 是如何将我的 runtime_error 变成其他类型的?我尝试了 acatch throw
但可以在该上下文中获取任何类型信息。
有没有人经历过这种情况或有任何想法?
编辑:
所以我还与 libprofile_rt.dylib 以及编译器标志一起链接-fprofile-arcs -fprofile-coverage
。删除编译器标志-fprofile-arcs
消除了该问题。令人讨厌,因为它打破了我的报道报告。
(与 librpofile_rt.a 链接有同样的问题)
当然,我不是唯一看到这一点的人,因为 LLVM 据说使用 googletest 作为他们的测试用例?!
不确定我是否应该将其发布为答案,或者是否会有更多知识渊博的人出现并提供真正的解决方案。