我的 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。 那么我怎样才能将该路径包含到我的程序中呢?
最佳答案
“简单”的方式:
add_definitions(-DCAFFE_MODEL_PATH=\"${CAFFE_MODEL_PATH}\")
然后在代码中使用CAFFE_MODEL_PATH
常量。
如果你有很多这样的定义,更优选的方法:
- 使用
#cmakedefine CAFFE_MODEL_PATH
等内容创建yourproject-config.h.cmake
。 - 使用
configure_file(yourproject-config.h.cmake yourproject-config.h)
- 不要忘记
include_directories(${CMAKE_CURRENT_BINARY_DIR})
#include "yourproject-config.h"
无论何时何地您需要访问常量。
关于c++ - 如何使用 cmake 将文件夹路径包含到 C/C++ 程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196905/