【问题标题】:VS2012 mixing C and Cpp, library clashVS2012混合C和Cpp,库冲突
【发布时间】:2013-04-08 07:47:34
【问题描述】:

我正在尝试在一个项目中结合一些 C 和 C++ 代码,之前我对此没有任何问题,但是我现在第一次尝试 VS2012,我从 TR1 标头中得到了很多错误我没有明确包含。

我认为这可能是一个混淆,因为它试图用这个 cpp 头文件编译我的 c 代码。它看起来像是试图理解 C++ 模板代码的 C 编译器错误。我在哪里可以从 VS2012 界面中弄清楚这一点?我需要对我的 c 和 cpp 文件做些什么来让编译器正确处理它们吗?

Error   1   error C2143: syntax error : missing '{' before '<'  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtr1common   15  1   example~
Error   2   error C2059: syntax error : '<' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtr1common   15  1   example~
Error   3   error C2143: syntax error : missing '{' before '<'  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtr1common   20  1   example~
Error   4   error C2059: syntax error : '<' C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtr1common   20  1   example~
Error   5   error C2016: C requires that a struct or union has at least one member  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xtr1common   28  1   example~

【问题讨论】:

  • 显示代码。从这些特定的错误消息中很难找出问题所在。
  • 我的 ESP 今天很弱。所以你可能已经展示了一些代码。
  • 这里是包含头文件的示例项目。打开maxcpp-master/examples/msp/example~.sln中的例子dl.dropbox.com/u/8165817/maxcpptest.zip
  • 14Mb?可以重现错误的最少代码量发生了什么?
  • 我的代码依赖于一个 SDK,我不知道当我尝试将它剪掉时是否可以重现它。与大多数人下载 14Mb 数据相比,这肯定需要付出更多的努力。

标签: c++ c visual-studio-2012 tr1


【解决方案1】:

没关系。自从我使用 VS 并忘记它不一定将 cpp 文件视为 c++ 以来已经有一段时间了。我必须将“编译为”选项设置为 c++。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多