使用 CMake 构建时 C++ 项目无法读取文件

C++ project can't read file when building with CMake

所以我写了一个 C++ 项目,它将文件读入字符串。

//func to read file into string
std::string readFile( const std::string& fileName )
{
    std::ifstream ifs( fileName );
    return std::string((std::istreambuf_iterator<char>(ifs)),
        (std::istreambuf_iterator<char>()));
}

//func call in main
std::string text = readFile("test.txt");

这是我为此使用的代码。
我正在使用 CLion 编写我的代码。我将标准编译器更改为 clang++。当我直接在 CLion 中 运行 main.cpp 程序无法读取文件。没有错误代码,但是调试程序时提示参数fileName类型不完整
当我用

在终端中编译 main.cpp
clang++ -std=c++14 main.cpp -o histogram

然后 运行 它,它可以读取文件并且程序正常工作。
为什么它在终端中有效,但在 CLion 中无效?

如评论中所述,CMake 创建了一个子文件夹,输出文件位于其中。 test.txt 文件位于源文件夹中,因此超出范围。当我将工作目录更改为源文件夹时,程序运行了。
感谢您的快速帮助。