博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
libcmt.lib和msvcrt.lib冲突,原因和解决方法
阅读量:5911 次
发布时间:2019-06-19

本文共 967 字,大约阅读时间需要 3 分钟。

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)),这样就能顺利编译通过了。

 

你可能感兴趣的文章
Ubuntu下su模式认证失败的问题解决
查看>>
mysqld error(一)
查看>>
Javascript延时函数
查看>>
UML类图关系大全
查看>>
Ant编译Hadoop 1.0.3的eclipse-plugin插件包
查看>>
tensorflow开发环境搭建
查看>>
JDBCRealm Http Digest
查看>>
CentOS 7 网络配置
查看>>
matplotlib 交互式导航
查看>>
eclipse的插件未安装成功
查看>>
由装箱引发的——Integer比较的来龙去脉
查看>>
java 深拷贝
查看>>
UnicodeEncodeError: 'ascii' codec can't encode
查看>>
jvm在什么时候进行进行垃圾回收,在什么时候进行扩大内存
查看>>
【转载】强大的命令行工具wmic
查看>>
JavaScript里的数组转化新方法Array.From
查看>>
修改eclipse下maven项目的java文件编译目录路径
查看>>
直接启动tomcat时为tomcat指定JDK 而不是读取环境变量中的配置
查看>>
ubuntu 安装 chef安装
查看>>
需求整理步骤规范
查看>>