zoukankan      html  css  js  c++  java
  • libcmt.lib和msvcrt.lib冲突,原因和解决方法

    libcmt.lib和msvcrt.lib冲突,原因和解决方法

    https://blog.csdn.net/longlijun/article/details/7331093

    libcmt.lib是windows环境下vc提供的静态运行时库(多线程);msvcrt.lib是动态运行时库。

    原因

    由于DLL(或EXE)工程设置的Runtime Library 和 它导入的其他(.lib)库的Runtime Library不同。

    比如: 下面为Release版,其中Runtime Library和use of MFC 需要匹配(所以这两个内容的设置是两两对应的)

    类型我的DLL工程需要调用的lib库的工程结果
    工程名 DShow_Graph Baseclasses ——
    use of MFC Use MFC in a static Library Use MFC in a static Library ——
    Runtime Library Multi_threaded(/MT) Multi_threaded(/MT) 不冲突
    use of MFC Use MFC in a static Library Use MFC in a shared DLL ——
    Runtime Library Multi_threaded(/MT) Multi_threaded DLL(/MTd) 冲突
    use of MFC Use MFC in a shared DLL Use MFC in a static Library ——
    Runtime Library Multi_threaded DLL(/MTd) Multi_threaded(/MT) 冲突
    use of MFC Use MFC in a shared DLL Use MFC in a shared DLL ——
    Runtime Library Multi_threaded DLL(/MTd) Multi_threaded DLL(/MTd) 不冲突

    如果是Debug版本,只需要将上面的设置改为debug下的对应设置后,对应起来理解就可以了


    解决方法

    • 把在编译两个工程时,把两个运行库都改为统一的(都是(/MT)或都是(/MTd)),这样就能顺利编译通过了。
  • 相关阅读:
    总结7.19 laravel验证码
    java学习day74--Redis常用命令
    java学习day74--JT项目12(Redis缓存/spring boot整合redis)
    java学习day73-JT项目11(数据库高可用/读写分离/负载均衡)
    疯狂学java的第27天
    xtrabackup全备+binlog模拟slave恢复到某一时间点-启用GTID
    读写文件
    goroutine、chan、select、互斥、读写互斥
    接口

  • 原文地址:https://www.cnblogs.com/lsgxeva/p/8909451.html
Copyright © 2011-2022 走看看