我的c ++程序需要一个文件夹路径,我喜欢从cmake配置输入。 例如,我的c ++程序是
int main(){
std::string pretrained_binary_proto("/home/Softwares/Libraries/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel");
}
我喜欢使用cmake设置此文件夹路径。
/home/Softwares/Libraries/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
在我的CMakeLists.txt
中,我有
set(CAFFE_MODEL_PATH "/home/nyan/Softwares/Libraries/caffe-master/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel")
但我在ccmake ..配置中没有看到CAFFE_MODEL_PATH。 那么如何将该路径包含在我的程序中呢?
答案 0 :(得分:1)
“简单”的方式:
add_definitions(-DCAFFE_MODEL_PATH=\"${CAFFE_MODEL_PATH}\")
然后在代码中使用CAFFE_MODEL_PATH
常量。
如果你有很多这样的定义,那么更喜欢这种方式:
yourproject-config.h.cmake
。#cmakedefine CAFFE_MODEL_PATH
configure_file(yourproject-config.h.cmake yourproject-config.h)
include_directorties(${CMAKE_CURRENT_BINARY_PATH})
#include "yourproject-config.h"
无论何时何时需要访问常量。