cmake编译遇到的一些问题汇总

windows平台下:

1.警告视为错误  

解决办法: add_definitions("/WX-")

2.std::min max error

解决方法:add_definitions(-DNOMINMAX)

3.error C2143: 语法错误: 缺少“)”(在“常量”的前面) error C2143: 语法错误: 缺少“;”(在“常量”的前面)
error C2040: “LPCSTR”:“X509_name_st”与“const CHAR *”的间接寻址级别不同 boringssl报错

解决方法:add_definitions(-DWIN32_LEAN_AND_MEAN)

4.没有规则可制作目标,源文件存在(linux/windows都一样)

解决方式:编译了一个动态库,编译了一个静态库,用静态库去链接动态库就会出现这个问题,我都直接改为静态库就好了

4. error C2011: “timespec”:“struct”类型重定义

解决办法:add_definitions(-DHAVE_STRUCT_TIMESPEC)

5. cmake编译windows项目注释中包含中文报错

if(MSVC)
    add_compile_options("$<$:/utf-8>")
    add_compile_options("$<$:/utf-8>")
endif(MSVC)

你可能感兴趣的:(C++探究,OpenCV,图片合成,c++,cmake)