CMAKE_C_COMPILER:指定C编译器,如gcc CMAKE_CXX_COMPILER:指定C++编译器,如g++ BUILD_SHARED_LIBS:指定默认生成库文件类型,on:动态库,off 静态 CMAKE_BUILD_TYPE:设置编译类型,如Debug、Release 指定RPATH相关选项,如果为true,则关闭rpath功能 CMAKE_SKIP_RPATH;构建
compiler_depend.ts文件的生成 如果在代码中定义了 #define COMPILER_DEPENDENCY "main.cpp",那么在 compiler_depend.ts.in 文件中使用 @COMPILER_DEPENDENCY@ 变量时,它会被替换为 "main.cpp"。这样,在生成 compiler_depend.ts 文件时,它的内容就会包含 "main.cpp" 这个文件的名称。 当使用 find_package 命令时...
cmake .. PS D:\work\modern_cmake_work\ModernCMake\codes\cmake\cmakedefine\01\build> cmake .. -- Building for: Visual Studio 17 2022 -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000. -- The C compiler identification is MSVC 19.32.31329.0 -- The CXX compiler...
CMAKE_C_COMPILER:指定C编译器CMAKE_CXX_COMPILER:CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径LIBRARY_OUTPUT_PATH:库文件路径CMAKE_BUILD_TYPE::build 类型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug...
#define B_FIEL_HEADER_INC #include<math.h> double cal_sqrt(double value); #endif 1. 2. 3. 4. 5. 6. 头文件b.c,如下所示: #include "../include/b.h" double cal_sqrt(double value) { return sqrt(value); } 1. 2. 3.
gcc(GNU Compiler Collection)将源文件编译(Compile)成可执行文件或者库文件; 而当需要编译的东西很多时,需要说明先编译什么,后编译什么,这个过程称为构建(Build)。常用的工具是make,对应的定义构建过程的文件为Makefile; 而编写Makefile对于大型项目又比较复杂,通过CMake就可以使用更加简洁的语法定义构建的流程,CMake...
#cmakedefine BUILD_PRINTER 10.指定输出目录 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY${CMAKE_BINARY_DIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY${CMAKE_BINARY_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY${CMAKE_BINARY_DIR}) 11.设置工程名称 project(basicsupport LANGUAGES CXX) ...
#ifndef HELLO_H #define Hello_H void HelloFunc(); #endif hello.cpp中的内容 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #include "hello.h" #include <iostream> void HelloFunc(){ std::cout << "Hello World" << std::endl; } 项目中的cmake内容 代码语言:javascript 代码运行次数:0 ...
#define STRINGIFY(x) #x #define TOSTRING(x) STRINGIFY(x) std::string say_hello() { std::string arch_info(TOSTRING(ARCHITECTURE)); arch_info += std::string(" architecture. "); #ifdef IS_32_BIT_ARCH return arch_info + std::string("Compiled on a 32 bit host processor."); ...
#ifndef_HEAD_H#define_HEAD_H// 加法intadd(inta,intb);// 减法intsubtract(inta,intb);// 乘法intmultiply(inta,intb);// 除法doubledivide(inta,intb);#endif main.c #include<stdio.h>#include"head.h"intmain(){inta =20;intb =12;printf("a = %d, b = %d\n", a, b);printf("a ...