网站个人备案需要什么seo是什么服务器
-
问题1:需要去掉代码编译过程中所有警告。
-
思路:CMake加上
-Werror选项,强制所有编译警告视为错误。
-
作用是严格编译检查:
-
在开发中,
-Werror
作用是将 所有警告(Warnings)当作错误(Errors) 处理,提高代码质量。 -
例如,CI/CD 流水线中常用此选项,防止警告被忽略。
-
-
具体解决办法:
-
set(CMAKE_CXX_FLAGS "$ENV{CXX_FLAGS} -Werror") # 设置 C++ 编译选项
set(CMAKE_C_FLAGS "$ENV{C_FLAGS} -Werror") # 设置 C 编译选项 -
参数说明:
-
1.
CMAKE_CXX_FLAGS
和CMAKE_C_FLAGS
-
这是 CMake 的内置变量,用于设置 全局 C++ (
CMAKE_CXX_FLAGS
) 和 C (CMAKE_C_FLAGS
) 的编译选项。 -
它们会在编译所有目标(可执行文件、静态库、动态库)时生效。
-
-
2.
$ENV{CXX_FLAGS}
和$ENV{C_FLAGS}
-
$ENV{...}
表示读取 环境变量:-
$ENV{CXX_FLAGS}
:读系统环境变量CXX_FLAGS
(通常用于传递额外的 C++ 编译选项)。 -
$ENV{C_FLAGS}
:读取系统环境变量C_FLAGS
(用于传递额外的C编译选项)。 -
如果环境变量未设置,这部分会展开为空字符串。
-
-
-
3.使用
target_compile_options
可以为特定目标设置选项,而非全局修改:-
add_executable(my_app main.cpp)
target_compile_options(my_app PRIVATE -Werror)
-
-
-
-
问题2:忽略警告已弃用的API。
-
具体解决办法:
-
set_source_files_properties(
${API_SRCS} # 源文件列表(变量 SSL_UTIL_SRCS 展开)
PROPERTIES
COMPILE_FLAGS "-Wno-deprecated-declarations" # 设置编译选项
) -
参数说明:
-
1.
set_source_files_properties
-
作用:为指定的源文件设置自定义属性(如编译选项、依赖关系等)。
-
-
2.
COMPILE_FLAGS "-Wno-deprecated-declarations"
-
作用:向编译器传递
-Wno-deprecated-declarations
选项:-
-Wdeprecated-declarations
:默认情况下,编译器会警告已弃用的 API(如 OpenSSL 1.1 中标记为废弃的函数)。 -
-Wno-deprecated-declarations
:禁用该警告,避免编译时因使用了旧版 API 而报错。
-
-
-
-