我的文件夹结构是
├── build
│ ├── ..
│ └── Makefile
├── CMakeLists.txt
├── main.cpp
├── test.hpp
└── yuefei3.jpg
在主文件中,我使用相对路径读取图像:
cv::Mat img = cv::imread("./yuefei3.jpg");
这是我的 CMakeLists.txt
:
cmake_minimum_required(VERSION 2.6)
project(main)
find_package(OpenCV REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})
但是,由于可执行文件是从build
执行的,所以无法读取相对路径下的图片。
如何设置相对路径以便可执行文件可以读取图像? (我不想用绝对路径)
最佳答案
我以相反的方式解决这个问题,方法是将运行时需要的工件复制到构建目录中。也许这也是您的选择。
关于c++ - 读取文件时cmake设置路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45135493/