WindowsとUnix OSアーキテクチャ用のコマンドラインツールを開発します。しかし、私は闘争に直面しています。 WindowsとUnix間でコードを効果的に転送できるようにするにはどうすればよいですか?Microsoft Visual Studio:WindowsとUnixプロジェクトのソースコードの互換性
プロジェクトは主にMS Visual Studioを使用してC++言語で作成されます。しかし私は私のツールをクロスプラットフォームにしたいので、WindowsとUnixシステムの両方で使うことができます。 UnixはVisual Studioをサポートしていないので、両方のアーキテクチャー(32ビット)とOS固有のヘッダーをサポートするコード構造を幾分設計する必要があります。
私はあなたの助けを求めています。 WindowsとUnixの両方で同じコードを維持する最も効果的な方法と、その特定のOSのすべての必要なヘッダーは何ですか?ですから、Windowsではprogram.exeファイルを、Unixではprogram.runファイルを作成できますか?現在のOSアーキテクチャ(WindowsまたはUnix)をテストし、OS依存のヘッダを含むいくつかの条件はありますか?
エンコードについてはどうですか? WindowsのコマンドラインはMS-DOSエンコーディング(中央ヨーロッパではDOSコードページ852)を使用し、UnixターミナルはUTF-8エンコーディングを使用するためです。私のツールは多言語になります(貢献者は、私の側から英語とチェコ語で始まります)。
できるだけコード構造を小さくする必要があります。ソースコードは、GitHubリポジトリからクローン/フォーク用に利用できるものとする。
これは、スタックオーバーフローに適切な質問ではない場合は、通知して削除します。助けを求めるだけで、他には何もありません。
プロジェクトを生成するために 'CMake'を使い始めます。可能であれば、直接OS機能を使用しないでください。標準のC++を使用してください。いくつかのOS機能が必要な場合は、boostが必要なものを提供しているかどうかを確認してください。コードにgitを使用します。リポジトリのみのソースコードにバイナリや生成されたファイル(プロジェクトファイルなど)を入れないでください。 – drescherjm
ええ、 'cmake'を使ってください。これはVS 2017で現在サポートされており、OS固有のものを作ることなくヘッダの違いを助けます。それが避けられないときは、そのコードをOS抽象化レイヤに入れてください。 – zzxyz
私はVS 2015 Community Editionを持っています。それはCMakeをサポートしていますか? – Polda18