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ライブラリとして使用するようだ。



コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.