1. ホーム
  2. c++

[解決済み] Visual Studioプロジェクトをコマンドラインからコンパイルするにはどうすればよいですか?

2022-02-20 10:17:24

質問内容

を使用している大規模なC++ソリューションのチェックアウト、ビルド、配布、テスト、コミットのサイクルをスクリプト化しています。 モノトーン , CMake また、Visual Studio Express 2008、およびカスタムテストがあります。

他の部分はすべてかなり簡単なようですが、GUIを取得せずにVisual Studioソリューションをコンパイルする方法がわかりません。

スクリプトはPythonで書かれていますが、: os.systemを呼び出すだけで済むような回答があると助かります。

どのように解決するのですか?

2つの方法を知っています。

方法1
最初の方法(私が好む方法)は msbuild :

msbuild project.sln /Flags...

方法2
実行することもできます。

vcexpress project.sln /build /Flags...

vcexpressオプションはすぐに戻り、何も出力されません。これは、スクリプトに必要なことかもしれませんね。

DevEnvはVisual Studio Express 2008と一緒に配布されていないことに注意してください(私が最初に同様の問題に直面したとき、それを理解するのに多くの時間を費やしました)。

ということで、最終的にはこうなるのかもしれません。

os.system("msbuild project.sln /p:Configuration=Debug")

また、msbuild と vcexpress はデフォルトではシステムパス上にないので、環境変数が正しいことを確認したい。Visual Studioのビルド環境を起動し、そこからスクリプトを実行するか、Pythonでパスを変更します(この場合、Pythonのパスには os.putenv ).