我有一个复杂的C ++ Project文件夹,其中包含两个文件夹。
Project文件夹包含一个main build.sh文件,该文件编译项目并创建包含调试和发布配置的构建文件夹。它还包含一个CmakeList.txt文件,我想在执行build.sh文件时会执行该文件。我需要在这个项目上执行的任务是创建一个新的 tests 文件夹并添加一个执行单元测试的文件( runtests.cpp )(使用catch单元 - 测试)在src文件夹.cpp文件中编写的代码。
我遇到的问题:
第一个问题是当我在我的tests文件夹中创建一个源测试文件,并尝试从src文件夹中包含头文件时,编译器会抛出一个致命的错误,即找不到这样的(.h)文件。(来自src文件夹)。有时,src文件夹文件中也会出现问题,因为它们无法找到ExtLib文件夹文件。
第二个问题是,如果某些人能够成功地包含其他src或ExtLib文件夹中的文件,我怎样才能运行测试源文件runtests.cpp来执行我的测试用例? / p>
项目层次结构如下所示:
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
我是否还需要为我的tests文件夹包含一个CMakelist.txt文件?如果必须的话怎么做?我对这个领域很新。希望你们能帮忙。 谢谢Rg