typeinfo编译指示可见性错误

时间:2015-05-09 05:13:37

标签: c++ linux c++11 cmake g++

我试图在c ++ 11中使用std ::中的shared_ptr,所以我包括显然使用的是typeinfo。问题是我得到了错误。

In file included from /usr/include/c++/4.8/memory:71:0,
                 from /home/dev/openclTest/modules/Quant.cpp:10:
/usr/include/c++/4.8/typeinfo:39:37: error: expected ‘}’ before end of line
 #pragma GCC visibility push(default)

听起来,这是一个已知的错误:  https://lists.debian.org/debian-gcc/2007/09/msg00497.html

无论如何,我希望我没有必要使用boosts库,所以如果有任何人都知道的快速修复,请告诉我。我使用cmake和g ++来构建项目。

谢谢!

1 个答案:

答案 0 :(得分:0)

我刚与GCC 4.9.2有类似的问题。如果您忘记了在typeinfo之前包含的文件中的某些大括号,这似乎是常见的错误消息。

我没有找到完全重现消息的代码,但使用这个最小测试得到了非常相似的东西:

test.cpp:

{
#include <typeinfo>

int main() {}

我想这可能和你的错误一样,因为它发生在非常不同的GCC版本中。如果它确实是同一个问题,请检查您的其他包含。