#c #file #cmake #header #clion
#c #файл #cmake #заголовок #clion
Вопрос:
Это мой код. Я не понимаю, почему компилятор не может найти файл заголовка <util/Timer.h> . Что я сделал не так? Я понятия не имею, поскольку <util/Timer.h> не создан в моем проекте. Должен ли я все еще добавлять его в файл cmake в качестве пути? Я уже проверил на наличие орфографических ошибок и т. Д. Я получаю «предупреждение об отсутствии такого файла или каталога».
#include <gtest/gtest.h>
#define protected public
#define private public
#include "ShakingDevice.h"
#undef protected
#undef private
#include <limits.h>
#include "TestConfig.h"
#include <util/Timer.h>
class ShakingDeviceTest : public ::testing::Test {
public:
ShakingDevice *s = nullptr;
virtual void SetUp() {
//
}
virtual void TearDown() {
//
}
};
TEST_F(ShakingDeviceTest,testTime) {
ASSERT_LE(abs(time - expected), 100);
}
Комментарии:
1. Кто или что сказал вам включить этот файл? Какова его цель?
2. Какую платформу вы используете? Чувствителен ли он к регистру? Вы пробовали
#include <util/timer.h>
?
Ответ №1:
Вы должны проверить свой cmake или ПУТЬ в вашей платформе, причина, по которой «нет такого файла или каталога с предупреждением». если система не может найти этот файл по указанным вами путям, вам следует добавить INCLUDE в ваш файл cmake, чтобы система знала, где найти этот головной файл .
Ответ №2:
Вместо этого я использовал #include»chrono», и теперь это работает. Я посмотрел некоторые библиотеки здесь, в stackoverflow, но это была неправильная.