c++ - 在 Linux 上测试的工作代码在 win 7、Visual Studio 12 上抛出 'error C3646'

标签 c++ visual-studio-2010 visual-studio visual-c++ visual-studio-2012

我有在 Linux 上运行良好的工作代码,但是当我尝试在 Windows 7 中使用 Visual Studio 12 编译它时,出现此错误:

error C3646: '__attribute__' : unknown override specifier
error C2065: 'weak' : undeclared identifier
error C2072: 'operator <<' : initialization of a function

有人知道是什么原因造成的吗?

最佳答案

__attribute__是 GCC 特定的。它是一个非标准扩展。

这就是 MSVC 提示的原因。

Here是关于如何找到解决方法以在 Visual Studio 上进行等效工作的一个很好的答案。

实际上,这取决于您对 __attribute__ 扩展的使用。但是很难在 MSVC 中找到等效项。

关于c++ - 在 Linux 上测试的工作代码在 win 7、Visual Studio 12 上抛出 'error C3646',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726441/

相关文章:

c++ - e1071 中的自定义内核

c++ - 模板变量作为字符串而不是 const char *

c++ - 从文件中读取多个字节并存储它们以便在 C++ 中进行比较

c++ - visual studio C/C++ 中的多个构建目标

git - 在 Visual Studio 中显示当前的 Git 分支?

c++ - 在数组上使用迭代器

visual-studio-2010 - Teamcity 代理未充分利用计算机资源

C# DateTime 默认值 Issue 01/01/0001 00 :00:00

c# - 为什么 Office Interop 引用在 VS 2010 中显示错误

c++ - Visual Studio 中代码块中的编译器标志是否有类似物?