GoogleTestとVisual C++ (VC++)
Google TestをVC++と使う上で注意。
- DLLとして利用する場合、staticとして利用する場合、linkerよって、それぞれ破棄されないように注意。 see
- staticとして利用する場合、参照されないデータを保持する (/OPT:NOREF)を設定せよ。 シンボルが破棄されない。
- gtestのライブラリをDLLとしたら、使う側もDLLとする。 gtestのライブラリをstaticとしたら、使う側もstaticとする。
- 以下はついで、プロジェクト->プロパティ->構成プロパティの全般->共通ランタイムサポートを使用しない /clrオプションを無効にし、 C++ -> コード生成、ランタイムライブラリ(/MT or /MTd)を指定。
- 移植性と管理の簡単さのため、C++のオプションに/FI stdafx.hを追加し、各ソースから#include "stdafx.h"を取り除く
PS
gtest.slnとgtest-md.slnの違いは、
両者はともにスタティックライブラリとして作られるが、コンパイル・コード生成の違いで、
Cランタイムライブラリを前者はスタティックライブラリ、後者はDLLライブラリとして使用するようだ。
コメント
コメントを投稿