Ahmad Qassym Ответов: 1

В чем причина и как ее исправить ?


я пишу тестовые функции на языке c++ (linux), которые выглядят следующим образом :

#включить <gtest/gtest.h>

#включить"./ApproximationOfPi.cpp"
//-lgtest -lpthread


Тест(ApproximationOfPiTest,computeNumPointsInCircle)
{
ASSERT_EQ(3,computeNumPointsInCircle(1));
ASSERT_EQ(11,computeNumPointsInCircle(2));
ASSERT_EQ(27,computeNumPointsInCircle(3));
}

Что я уже пробовал:

но он все равно не принимает строку (#include <gtest gtest.h="">)
когда я пытаюсь его скомпилировать он говорит :
ApproximationOfPiTest.cpp:3:25: фатальная ошибка: gtest/gtest.h: нет такого файла или каталога
#include <gtest gtest.h="">
^
компиляция завершена.

кто-то знает, как это исправить мольбами ?

Richard MacCutchan

"фатальная ошибка: gtest/gtest.h: Нет такого файла или каталога"

1 Ответов

Рейтинг:
2

Rick York

Убедитесь, что файл gtest/gtest.h существует. Он должен находиться в подкаталоге gtest одного из каталогов на вашем пути включения. Это потому, что вы заключили имя в угловые скобки.

Лично я бы изменил угловые скобки на двойные кавычки. Это позволит ему существовать в подкаталоге ваших исходных файлов. Если его там нет, то будет выполнен поиск по пути включения.

В этом заключается разница в использовании двойных кавычек и угловых скобок : использование кавычек указывает компилятору сначала искать относительно текущего каталога, а если он не найден, то искать путь включения. Угловые скобки указывают компилятору искать только в каталогах по пути включения.


CPallini

5.