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

发布于 2024-07-19 12:56:50 字数 362 浏览 6 评论 0原文

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

该文件是一个 C 库,编写用于通过串行端口与 TI 处理器进行通信。 我需要做的任务是用 CLR 包装器包装这个库(如果您想从 CLI 问题中得到一些更简单的点,将会在 stackoverflow 上发布有关来回编组数据的其他问题。)

我只想使用这个 C 库来自我的 CLR 包装。 我去了 属性 -> 配置属性 -> C/C++ -> 常规 -> 使用公共语言运行时支持进行编译 = 无公共语言运行时支持

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

I am getting compiler error D8045. cannot compile C file 'serialcommands.c' with the /clr option.

This file is a C library that has been written to talk over a serial port to a TI processor. The task that I need to do is wrap this library with a CLR wrapper (there will be additional questions posted to stackoverflow concerning marshalling data back and forth if you want some more easy points from CLI questions.)

I just want to use this C library from my CLR wrapper. I went to
Properties->Configuration Properties->C/C++->General->Compile with Common Language runtime support = No Common Language Runtime support

Is this the correct way to do this? Will I experience nasty weird bugs later or are other things that I need to do to use this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖树树初阳… 2024-07-26 12:56:50

是的。 您需要在没有 /CLR 的情况下编译任何 C 对象,因为 clr 只理解类和对象。

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

Yes. You need to compile any C objects without /CLR, since the clr only understands classes and objects.

You can still use them from your C++/CLI project, wrapped inside of your "ref class" objects. This is a normal way of wrapping a C api in .NET objects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文