我正在为图像分析任务编写一个小型库,我需要根据存储在文件中的信息初始化一些对象。这些文件随库一起提供。但是,在我的代码中,我不知道引用这些外部配置文件的正确方法。显然我不能参考配置文件的完整路径。但是相对路径似乎也不是一个选项,因为我不确定这个路径是否应该相对于共享库的位置,或者与共享库链接的可执行文件的位置,或者再次是工作目录可执行文件从中启动。目前,我的代码如下所示:
void
myImageAnalysisFunctionExportedInASharedLibrary(cv::Mat &input, cv::Mat &output)
{
const std::string configurationFile = "resources/analyserConfig.txt";
Analyser a;
a.setConfiguration(configurationFile);
a.analyse(input, output);
}
我正在使用 OpenCV 在 Linux/Windows 环境下使用 C++ 进行编码。我更想要一个不需要参考 Boost 或 Qt 的便携式解决方案。我使用 CMake 作为项目构建环境。