0:目录结构
step1->
--build(自己建的一个空目录)
--CMakeLists.txt
--tutorial.cxx
--TutorialConfig.h.in
1. CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
#set the project name and version
project(Tutorial VERSION 1.0)
#specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
configure_file(TutorialConfig.h.in TutorialConfig.h)
#add the executable
add_executable(Tutorial tutorial.cxx)
target_include_directories(Tutorial PUBLIC
"${PROJECT_BINARY_DIR}"
)
2.版本配置文件TutorialConfig.h.in内容
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
3.源文件tutorial.cxx内容
#include <iostream>
#include <string>
#include "TutorialConfig.h"
using namespace std;
void mysqrt(double n)
{
double res = sqrt(n);
cout << res << endl;
}
int main(int argc, char** argv) {
if (argc < 2) {
// report version
std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
<< Tutorial_VERSION_MINOR << std::endl;
std::cout << "Usage: " << argv[0] << " number" << std::endl;
return 1;
}
const double inputValue = std::stod(argv[1]);
mysqrt(inputValue );
return 1;
}
4.编译与测试步骤:
1)生成工程文件
进入build目录下,敲cmake ..
2)编译
在同一目录下,再敲cmake --build .
3)执行程序
从上一步骤看出可执行程序,编译成功后,Tutorial.exe放入Debug目录下,
敲Tutorial.exe 64,可以得到8,也可以试试其他值。
第一步成功,旅途愉快!