从相对于项目文件夹的不同 cpp 文件访问同一文件夹

Accessing the same folder from different cpp files relative to the Project folder

如果我的项目有以下文件夹结构:

Project
├───build
├───images
├───include
├───Apps
├───Models
├───source
└───tests

在不使用绝对路径的情况下,使构建、测试、应用程序和 src 中的所有 .cpp 文件都可以访问文件夹“images”的最佳方法是什么。所以在这个项目中创建的每个图像都应该保存到“图像”文件夹中。

如果这很重要,我正在使用 Cmake 进行构建(上周开始使用 CMake,所以没有深入了解)。 Main CmakeLists.txt 文件是根文件夹。测试、应用程序和源代码都有自己的 CMakeLists.txt 文件和可执行文件。

每个图像都将使用相同的 class 创建,所以我想我可以使用 std::filesystem::current_path() 和 class 中的包装函数,它会生成并设置所需的路径但是那里应该是另一种方式。

我以后也会从文件夹Models中加载文件,所以同样的问题。

如果我对你的问题的理解正确,你想从“图像”文件夹访问图像,对吗?您应该考虑从最终可执行文件而不是源文件开始的路径。

如果可执行文件将在构建目录中,那么您只需编写“../images”,2 个点表示您将返回 1 个目录。