我正在尝试使用以下命令在 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
and mscorlib
是 C++/.NET(Microsoft 的 C++ 派生语言),not C++.
MinGW 不支持也不能支持这一点(尽管语法相似,但 C++/NET 内部差异太大)。尝试使用 Microsoft .NET Core。它是跨平台的,应该有一个 C++/NET 编译器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)