三维在线设计网站怎么安装的wordpress主题
三维在线设计网站,怎么安装的wordpress主题,中国4a广告公司,小程序游戏代理加盟提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录基本语法常见用法示例1. 添加无值宏2. 添加带值宏3. 取消已定义的宏注意事项在 CMake 中#xff0c;add_definitions 是一个用于向编译器添加预处理器定义#xff…提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录基本语法常见用法示例1. 添加无值宏2. 添加带值宏3. 取消已定义的宏注意事项在 CMake 中add_definitions是一个用于向编译器添加预处理器定义preprocessor definitions的命令。这些定义会影响后续所有目标如可执行文件、库的编译过程相当于在代码中使用#define定义宏或在编译命令中添加-DGCC/Clang或/DMSVC参数。基本语法add_definitions(definition ...)其中definition是预处理器定义可以是无值宏如DEBUG需用-D前缀CMake 会自动适配不同编译器的语法带值宏如MAX_BUFFER1024取消已定义的宏用-U前缀如-UDEBUG。常见用法示例1. 添加无值宏向所有后续目标添加DEBUG宏用于代码中条件编译add_definitions(-DDEBUG) # 等价于代码中的 #define DEBUG在代码中可这样使用#ifdefDEBUGprintf(Debug mode enabled\n);#endif2. 添加带值宏定义一个带值的宏MAX_SIZE2048add_definitions(-DMAX_SIZE2048) # 等价于 #define MAX_SIZE 2048在代码中可直接使用该值intbuffer[MAX_SIZE];// 等价于 int buffer[2048];3. 取消已定义的宏如果之前定义了DEBUG可以用-U取消add_definitions(-UDEBUG) # 取消 DEBUG 宏的定义注意事项作用范围add_definitions是全局生效的会影响从该命令开始到后续所有add_executable或add_library定义的目标。这可能导致不必要的宏污染例如某个目标不需要该宏却被强制添加。现代 CMake 推荐用法对于 CMake 3.0更推荐使用target_compile_definitions替代add_definitions。它可以为特定目标添加宏定义避免全局污染# 只为 my_target 目标添加 DEBUG 宏PRIVATE 表示仅该目标内部使用 target_compile_definitions(my_target PRIVATE DEBUG)其中PRIVATE可替换为PUBLIC目标及其依赖者都生效或INTERFACE仅依赖者生效更灵活控制宏的作用范围。平台兼容性CMake 会自动将-D转换为对应编译器的语法如 MSVC 用/D因此无需针对不同编译器修改写法。与CMAKE_CXX_FLAGS等的区别add_definitions专门用于预处理器定义而CMAKE_CXX_FLAGS是添加编译器 flags如-Wall警告选项。两者作用不同不应混用。总结add_definitions适合简单场景下添加全局预处理器定义但现代 CMake 更推荐使用目标级别的target_compile_definitions以提高工程的可维护性。