C ++ - Konsolenanwendung auf Himbeer-Pi

675
yvi

how to run a VS2015 c++ console application on raspberry pi 2. I installed mono, copied the .exe file and try to run it. But it said "Cannot open assembly abc.exe: File does not contain a valid CIL image."

I am new to this method. I couldn't able to try with VisualGDB as my trail license got expired.

Is this method correct?

0
Was hat Mono ein .NET-Compiler mit dem Kompilieren einer ARM C ++ - Anwendung zu tun? Ramhound vor 8 Jahren 0

1 Antwort auf die Frage

0
gertmenkel

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).