人気ブログランキング | 話題のタグを見る

cli Projectの実行

何度も忘れる。そろそろ忘れてもいいのかもしれない(visual studio 2019)。
ファイルは次の通り。

Project1.sln
Project1.vcxproj
MyForm.cpp
MyForm.h

これを無事、ビルドし実行するには、
1. メニュー「プロジェクト」→「Project1のプロパティ」→「構成プロパティ」→「リンカー」

2. メニュー「リンカー」→「システム」→「サブシステム」→
 「Windows (/SUBSYSTEM:WINDOWS)」選択

3. 同じくメニュー「リンカー」→「詳細設定」→「エントリポイント」→「main」設定

4. 「MyForm.cpp」に#include "MyForm.h" / using namespace Project1;
 「エントリポイント」→「main」を生成。

5. 同じく「MyForm.cpp」に二重起動を防止するなら「main」の中に
 System::Threading::Mutex^ 等々で、
  Application::Run(gcnew MyForm()); で「// メイン ウィンドウを作成して、実行します」

6. 「x64」専用なら、Project1.vcxproj(xml)から「Win32」の項、削除

7. ビルドで「MyForm.obj : MSIL モジュールが見つかりました。MSIL では
 インクリメンタル リンクは無効化されています。フル リンクを行います」と出たら、
 メニュー「リンカー」→「全般」→「インクリメンタルリンクを有効にする」→
 「いいえ(/INCREMENTAL:NO)」選択

8. WIN32 を使うなら
「構成プロパティ」→「リンカー」→「入力」→「追加の依存ファイル」に、
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;
ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
を追加。

以上。





by syokado | 2021-02-05 13:14 | visual studio | Trackback