5

Visual Studioでgtestをビルドしようとしていますが、プロジェクトに正しく指定された参照とインクルードの取得に問題があるようです。

エラーC1083:インクルードファイルを開くことができません:'gtest / gtest.h':そのようなファイルまたはディレクトリはありませんc:\ gtest-1.6.0 \ src \ gtest-all.cc

1>InitializeBuildStatus:
1>  Touching "Debug\GTestBuild.unsuccessfulbuild".
1>ClCompile:
1>  gtest-all.cc
1>c:\gtest-1.6.0\src\gtest-all.cc(40): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.61

プロジェクトに、プロジェクトプロジェクトページ> C /C++>追加のインクルードディレクトリリストに次の参照を追加しました。

c:\ gtest-1.6.0
c:\ gtest-1.6.0 \ src
c:\ gtest-1.6.0 \ include
c:\ gtest-1.6.0 \ include \ gtest

しかし、私は他のいくつかのインクルードを見逃しているようです、またはおそらくこれを正しく設定しなかったので、これを解決し、将来のためにこれを行う方法を学ぶのに役立つことを感謝します。

PS。からの切り替え

#include "gtest/gtest.h"
// The following lines pull in the real gtest *.cc files.
#include "src/gtest.cc"
#include "src/gtest-death-test.cc"
#include "src/gtest-filepath.cc"
#include "src/gtest-port.cc"
#include "src/gtest-printers.cc"
#include "src/gtest-test-part.cc"
#include "src/gtest-typed-test.cc"

#include <gtest/gtest.h>

// The following lines pull in the real gtest *.cc files.
#include <src/gtest.cc>
#include <src/gtest-death-test.cc>
#include <src/gtest-filepath.cc>
#include <src/gtest-port.cc>
#include <src/gtest-printers.cc>
#include <src/gtest-test-part.cc>
#include <src/gtest-typed-test.cc>

解決策ではありません。これを試しましたが、機能しません。

4

2 に答える 2

2

完全なコンパイル出力をチェックして、これらのインクルードディレクトリがコンパイルに組み込まれているかどうかを確認します。次のようになります。

...
-Ic:\gtest-1.6.0 -Ic:\gtest-1.6.0\src -Ic:\gtest-1.6.0\include -Ic:\gtest-1.6.0\include\gtest
...

これらのディレクトリでファイルも探しましたか?gtest.hディレクトリに含める場合は、次のディレクトリで検索する必要があることを忘れないでください。

c:\gtest-1.6.0\gtest
c:\gtest-1.6.0\src\gtest
c:\gtest-1.6.0\include\gtest
c:\gtest-1.6.0\include\gtest\gtest

gtest(使用するサブディレクトリに注意してください#include "gtest/gtest.h"

于 2012-06-08T08:42:03.380 に答える
2

プロパティページでファイルgtest-all.ccを探すと、その[AdditionalIncludeDirectories]フィールドに次のように表示されます。

..;..\include;%(AdditionalIncludeDirectories)

提供されているmsvc\gtest.slnを使用した場合、またはそれ以外の場合:

C:/gtest-1.6.0/include;C:/gtest-1.6.0;%(AdditionalIncludeDirectories)

CMakeを使用してVSソリューションを作成した場合。

%(AdditionalIncludeDirectories)フィールドが空の場合、変数を介して適用されるため、プロジェクト全体に設定したディレクトリは取得されません。この場合、ビルドの状態良くないため、新たにダウンロードしてやり直す価値があるかもしれません。

于 2012-06-08T10:52:08.450 に答える