VC2008でCRTのないEXEを作成する

普通にwin32プロジェクトを作成
clipshot 2015-12-18 00-00-44
/NODEFAULTLIBオプションを有効に、これでCRTはリンクされない。
clipshot 2015-12-18 00-03-05
ビルドするといろいろリンクエラー、これはCRTの機能を呼んでいるから出る。

Basic Runtime Checkをデフォルトに
clipshot 2015-12-18 00-07-06
ビルド

Buffer Security CheckをNoに
clipshot 2015-12-18 00-08-53
ビルド

以下を定義

これでビルドできて動いた。しかしmemsetを使っていると問題がある。

このようなコードでもコンパイラはmemsetを呼ぶようで、これが見つからないと怒られる。自分で定義する。

これでビルドできたがVC6だと今度はintrinsicの関数を定義するなと怒られる。その場合は以下のプラグマで回避する

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)