在Linux for Windows上编译C++代码时出错

Error while compiling C++ code on Linux for Windows

本文关键字:C++ 代码 出错 编译 Linux for Windows      更新时间:2023-10-16

我正试图用以下命令在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

我该如何解决我的问题?

#importmscorlib是C++/.NET(Microsoft的C++派生语言(,不是C++。

MinGW不支持也不支持(尽管语法相似,但C++/NET内部差异太大(。请尝试使用Microsoft.NET Core。它是跨平台的,应该有一个C++/NET编译器。