Mono kann nur .NET-Anwendungen ausführen. C ++ - Anwendungen werden normalerweise zu nativem (x86) Code für Windows kompiliert.
Windows-Code kann manchmal unter Linux mit Wine ausgeführt werden. Burbthis funktioniert nur, wenn die Architektur, für die das Programm kompiliert wurde, dieselbe ist, auf der Linux ausgeführt wird. Da der Raspberry Pi über einen ARM-Prozessor verfügt, ist Wine hier keine Option.
Für Mono gilt diese Einschränkung nicht, da .NET-Apps nicht zu nativem Code kompiliert werden, sondern als Bytecode für die Verwendung mit dem .NET-Framework (wie Java). Dies bedeutet, dass .NET-Code auf fast jeder Prozessorarchitektur ausgeführt werden kann, da der Bytecode nicht vom Prozessor abhängt.
Aus diesem Grund kann Mono nur .NET-Code ausführen. Wenn Mono Ihr Programm nicht ausführen kann, liegt dies daran, dass es nicht in .NET-Code kompiliert wurde (oder Sie haben eine Bibliothek verwendet, die nicht in Mono implementiert ist, was in diesem Szenario jedoch sehr unwahrscheinlich ist).