c++ - 从文件夹名称获取 makefile 参数

标签 c++ opencv makefile cmake

我正在尝试为 OpenCV 项目创建一个 makefile。模板如下所示:

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

有什么方法可以用文件夹名称替换硬编码字符串 DisplayImage 吗?我的目标是将每个项目都放在一个文件夹中,然后放入一个 makefile。

最佳答案

您可以使用 cmake 方法:get_filename_component , 提取父目录并将其放置在您需要的任何位置:

cmake_minimum_required(VERSION 2.8)

get_filename_component(PARENT_DIR ${CMAKE_SOURCE_DIR} NAME)
project( ${PARENT_DIR} )

find_package( OpenCV REQUIRED )

# If you want to change the executable name as well
add_executable( ${PARENT_DIR} DisplayImage.cpp )
target_link_libraries( ${PARENT_DIR} ${OpenCV_LIBS} )

关于c++ - 从文件夹名称获取 makefile 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41091859/

相关文章:

c++ - 分配 vector

C++ 运算符重载,operator bool() 和 operator !()

c++ - 如何防止调整自定义 QWidget 的大小?

c++ - 校准相机时 opencv 错误 : assertion failed in convert. cpp (opencv)

c - 生成文件错误 : Command Not Found- while creating a shared library

c++ - 静态断言基指针 "equals"是派生指针

qt - Qt Creator未检测到opencv

Python Opencv 相机选择超时

c++ - -DNDEBUG 通常来自哪里?

gcc - Makefile无缘无故删除目标文件