[英]Error while compiling C++ code on Linux for Windows
我正在嘗試使用以下命令在 linux 主機上為 windows 編譯一個 C++ 應用程序:
i686-w64-mingw32-g++ -o app.exe app.cpp
但是在代碼中導入了特定的windows庫:
#import "mscorlib.tlb" raw_interfaces_only \
high_property_prefixes("_get","_put","_putref") \
auto_rename
我得到這個錯誤:
app.cpp:26:9: fatal error: mscorlib.tlb: No such file or directory
我試圖從 Windows 主機復制該文件並將其放入包含 .cpp 文件的目錄中,但這不起作用。 當我這樣做時,這是一段編譯器輸出:
mscorlib.tlb:1835:19: warning: null character(s) ignored
mscorlib.tlb:1835:21: error: stray ‘\4’ in program
mscorlib.tlb:1835:22: warning: null character(s) ignored
mscorlib.tlb:1835:24: error: stray ‘\1’ in program
mscorlib.tlb:1835:25: warning: null character(s) ignored
mscorlib.tlb:1835:29: error: stray ‘\2’ in program
如何解決我的問題? 非常感謝
#import
和mscorlib
是 C++.NET(Microsoft® 的 C++ 派生語言),而不是C++。 MinGW 不支持,也不能支持(C++.NET 內部差異太大,盡管語法相似)。 嘗試使用 Microsoft® .NET Core,它是跨平台的,應該有一個 C++.NET 編譯器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.