Dot-Net

D8045:無法使用 /clr 選項編譯 C 文件 ‘serialcommands.c’

  • March 9, 2015

我收到編譯器錯誤 D8045。無法使用 /clr 選項編譯 C 文件“serialcommands.c”。

該文件是一個 C 庫,已編寫為通過串列埠與 TI 處理器通信。我需要做的任務是用 CLR 包裝器包裝這個庫(如果您想從 CLI 問題中獲得更簡單的觀點,將會有關於來回編組數據的其他問題發佈到 stackoverflow。)

我只想從我的 CLR 包裝器中使用這個 C 庫。我去了 Properties->Configuration Properties->C/C++->General->Compile with Common Language runtime support = No Common Language Runtime support

這是正確的方法嗎?我以後會遇到令人討厭的奇怪錯誤,還是我需要做其他事情才能使用它?

是的。您需要在沒有 /CLR 的情況下編譯任何 C 對象,因為 clr 只理解類和對象。

你仍然可以在你的 C++/CLI 項目中使用它們,包裹在你的“ref 類”對像中。這是在 .NET 對像中包裝 C api 的正常方式。

引用自:https://stackoverflow.com/questions/880413