1

有没有链接特定文件的方法,以便我可以在我的代码中引用它们?我正在开发一个项目,我正在从我的代码中读取视频文件,我想像这样引用它:

const char* videopath = "myvideo.avi"

CMake 通常在新创建的目录中构建,因此我不知道相对路径。当前的解决方法是将视频文件引用为绝对路径,例如:

videopath = "/home/NewProggie/Video/myvideo.avi"

我想知道是否有更好的方法,使用 CMake?

4

1 回答 1

3

检查CONFIGURE_FILE

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"
于 2012-06-21T19:51:30.787 回答