我收到编译器错误D8045。无法使用/ clr选项编译C文件'serialcommands.c'。
此文件是一个C库,已编写为通过串行端口与TI处理器通信。我需要做的任务是用CLR包装器包装这个库(如果你想从CLI问题中获得一些更简单的点,那么会有关于堆栈溢出的其他问题,这些问题涉及来回编组数据。)
我只是想从我的CLR包装器中使用这个C库。我去了 属性 - >配置属性 - > C / C ++ - > General->使用公共语言运行时支持进行编译=无公共语言运行时支持
这是正确的方法吗?我以后会遇到令人讨厌的奇怪错误,还是我需要做的其他事情来使用它?
答案 0 :(得分:12)
是。您需要编译没有/ CLR的任何C对象,因为clr只能理解类和对象。
您仍然可以在C ++ / CLI项目中使用它们,包含在“ref class”对象中。这是在.NET对象中包装C api的常规方法。