Почему вы используете Visual C++, работающий на .Net? Я бы порекомендовал вам либо переключиться на Native C++, либо использовать более удобный язык .NET, например C#. Честно говоря, я не уверен, что Mono может справиться с управляемой версией C++.
Если вы переходите на родной C++, то не забудьте абстрагировать любые бит конкретной платформы. Кроме того, убедитесь, что ваше приложение будет работать как на 32, так и на 64 бит. Используйте платформенно-независимые API, такие как GTK или WxWidgets.
Если вы переключитесь на C#, то прочитайте, что некоторые из API - это то, что Mono не поддерживает (и никогда не будет). Не используйте какой-либо небезопасный код или P/Invokes.
И независимо от того, какой вы выбираете, Всегда регулярно тестирует вашу программу на Windows и Linux. Если он работает в Linux, он обычно работает и на Mac, но я тестировал бы все три, по крайней мере, один раз в день.
Если вы хотите сделать его независимым от платформы, то .NET, возможно, был худшим выбором, который вы могли бы сделать. Microsoft не хочет, чтобы она была независимой от платформы, и что они говорят. – skaffman
@ Скаффман, как это? Если Microsoft не хочет, чтобы Mono существовала, они не подписали соглашение о бездействии с Novell. – Earlz
@ skaffman, это, вероятно, правда, но они не говорят, что .Net не может быть кросс-платформой, просто они не собираются это делать. Если бы это было не так, команда Мигеля и Моно пробиралась через бюрократизм, когда мы говорим. – Lazarus