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 に答える