如何通过 CMakeLists.txt 将参数传到代码里面

  • Post author:
  • Post category:其他


直接看代码, 将

BUILD_ROS

传到 hello.cpp 里面。

hello.cpp 代码如下:

#include <iostream>
int main()
{
    #if BUILD_ROS
	{
		std::cout<<"hello ros"<<std::endl;
	}
    #else
	{
                std::cout<<"hello world"<<std::endl;
	}
    #endif
	return 0;
}

同级目录下的 CMakeLists.txt 为:

cmake_minimum_required(VERSION 2.8)
project(demo)

# set(BUILD_ROS 0)  # open ros by "cmake .. -DBUILD_ROS=1"

if(${BUILD_ROS})
    add_definitions(-DBUILD_ROS=1)
endif()

add_executable(hello hello.cpp)

建立build文件夹,进入build文件夹:

cmake .. -DBUILD_ROS=1

就将BUILD_ROS设置为1



版权声明:本文为qq_34525916原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。