我正在尝试为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方法:ojota,提取父目录并将其放置在需要的位置:

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/

10-11 04:01