是否有一种链接特定文件的方法,以便我可以在我的代码中引用它们? 我正在开发一个项目,我正在我的代码中读取一个视频文件,我想引用它:
const char* videopath = "myvideo.avi"
CMake通常在新创建的目录中构建,以便我不知道相对路径。目前的解决方法是将视频文件作为绝对路径引用,如:
videopath = "/home/NewProggie/Video/myvideo.avi"
我想知道是否有更好的方法,使用CMake?
答案 0 :(得分:3)
在CMakeLists.txt
:
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
SET(MY_AVI_PATH "${CMAKE_CURRENT_SOURCE_DIR}/movies/foo.avi")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/avi.h.in ${CMAKE_CURRENT_BINARY_DIR}/avi.h @ONLY)
在avi.h.in
:
#pragma once
#define MY_AVI_PATH L"@MY_AVI_PATH@"
结果avi.h
:
#pragma once
#define MY_AVI_PATH L"c:\foo\dir\movies\file.avi"