Clion, CMake, MSVC vs GCC 链接错误

这个短文今后或许不会填坑,但还是记录一下问题。

  1. Clion使用CMake配置文件调用MSVC的时候似乎不能配置cl.exe的编译参数,导致静态库链接产生如下错误,始终无法链接成功。改用GCC编译静态库之后,链接一次成功,配置文件也没有改动。
error LNK2038: mismatch detected for 'RuntimeLibrary': 
value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in main.obj
  1. 使用CMake_CXX_FLAGS指定 "/MD" 参数反而会进一步产生如下提示,说明工具链中的某几步覆盖了这个参数。
cl : Command line warning D9025 : overriding '/MT' with '/MD'
  1. 由于用的是Clion所以不知道在哪里改设置,如果是VS的可以参照下面的文档。
    Linker Tools Warning LNK4098
    /MD, /MT, /LD (Use Run-Time Library)
  2. OpenCV Windows GCC编译还是看了下面两位老哥的攻略。因为不用JAVA什么的,暂时把BUILD_JAVA、BUILD_TEST选项关了,为了编译静态库把BUILD_SHARED_LIBS打开了。
    https://blog.csdn.net/libaineu2004/article/details/104252289
    windows MinGW OpenCV 编译安装与第一个程序的命令行编译运行
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容