D8045:无法使用/ clr选项编译C文件'serialcommands.c'

Med*_*Man 8 .net clr c++-cli

我收到编译器错误D8045.无法使用/ clr选项编译C文件'serialcommands.c'.

此文件是一个C库,已编写为通过串行端口与TI处理器通信.我需要做的任务是用CLR包装器包装这个库(如果你想从CLI问题中获得一些更简单的点,那么会有关于堆栈溢出的其他问题,这些问题涉及来回编组数据.)

我只是想从我的CLR包装器中使用这个C库.我去了Properties-> Configuration Properties-> C/C++ - > General-> Compile with Common Language runtime support = No Common Language Runtime支持

这是正确的方法吗?我以后会遇到令人讨厌的奇怪错误,还是我需要做的其他事情才能使用它?

Ree*_*sey 12

是.您需要编译没有/ CLR的任何C对象,因为clr只能​​理解类和对象.

您仍然可以在C++/CLI项目中使用它们,它们包含在"ref class"对象中.这是在.NET对象中包装C api的常规方法.

  • 注意:这可以"按文件"完成,而不仅仅是每个项目,不确定在一读时问题/答案是否清楚. (3认同)