У меня есть сложная папка проекта C ++, которая содержит две папки.
Папка Project содержит основной файл build.sh, который компилирует проект и создает папку build, включающую конфигурации отладки и выпуска. Он также содержит файл CmakeList.txt, который, я полагаю, выполняется при запуске файла build.sh. Задача, которую мне нужно выполнить в этом проекте, — создать новый тесты папку и добавить файл (runtests.cpp), который выполняет модульное тестирование (используя catch unit-test) для кода, записанного в файлах .cpp папки src.
Проблема, с которой я сталкиваюсь:
Первая проблема — когда я создаю исходный тестовый файл в моей папке тестов и пытаюсь включить заголовочные файлы из папки src, компилятор выдает фатальную ошибку, что такие (.h) файлы не найдены (из папки src). Также иногда проблема возникает в файлах папки src, так как они не могут найти файлы папки ExtLib.
Второй вопрос: если каким-то образом я могу успешно включать файлы из других папок src или ExtLib, как я могу запустить исходный файл теста runtests.cpp для выполнения моих тестовых случаев?
Проектная иерархия показана ниже:
TestProject
│ build.sh
│ CMakeList.txt
└───ExtLib
│ │ buildscript.sh
│ │ CMakeList.txt
│ └───subfolder1
│ └───subfolder2(containing sub-folders)
└───src
│ │ main.cpp
│ │ CMakeList.txt
│ └───folder1
│ └───folder2(containing sub-folders)
└───tests
│ runtests.cpp
│ catch.hpp
Нужно ли включать файл CMakelist.txt для моей папки тестов? Как это сделать, если мне нужно? Я очень новичок в этой области. Надеюсь, вы, ребята, можете помочь.
Спасибо Рг
Задача ещё не решена.
Других решений пока нет …