原文链接地址:https://www.cnblogs.com/qrlozte/p/4844411.html

参考资料:

http://blog.csdn.net/laogaoav/article/details/8544880

http://stackoverflow.com/questions/18612072/link-warning-lnk4098-defaultlib-msvcrt-conflicts-with-use-of-other-libs-us

正文:

为了看这个 错误是怎么出来的,首先创建一个Win32工程:新建->项目->Win32项目->下一步->静态库->取名为ADDLIB

好,添加一个类,如下

// Adder.h

#pragma once

class Adder
{
int x, y;
public:
Adder(int x, int y);
int result();
}; // ---------------------------------- // Adder.cpp #include "Adder.h" Adder::Adder(int xx, int yy) :x(xx), y(yy)
{
} int Adder::result()
{
return x + y;
}

好,选择:生成->配置管理器->Release->确定

接着,生成解决方案,现在你在项目文件夹的Release子文件夹中可以找到ADDLIB.lib

现在,打开另一个项目,选择:项目->属性->VC++目录->包含目录->把Adder.h的路径添加进去,然后选择:库目录->把ADDLIB.lib的路径添加进去(即$(ADDLIB_PATH)\Debug\ADDLIB.lib,其中$(ADDLIB_PATH)是你的项目根目录),然后选择:链接器->输入->附加依赖项->把ADDLIB.lib添加进去

好现在写一段代码使用Adder,例如

Adder a(1,2);
int x = a.result();

首先确保这个项目是Debug配置,生成解决方案,报错如下:

1> ADDLIB.lib(Adder.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
1>LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/LTCG”规范)
1>MainWindow.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/OPT:LBR”规范)
1>LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

看到这里,有经验的话,细心一点就可以看出来,就是因为Debug版本的项目去链接Release版本的 static库造成的错误,所以解决方案就是回到 ADDLIB项目,构建一个Debug版本的ADDLIB.lib,然后这边 Debug的 时候就用Debug\ADDLIB.lib,在Release的时候才用Release\ADDLIB.lib

具体为什么是这样 报错呢,很简单,去项目属性里面查看就知道了,Debug配置的时候,C/C++ -> 优化,这个配置项里面“全程序优化”的默认选项是“否,但是在Release配置的 时候,是“是/GL”,由于不匹配,所以报错。同样的,对于C/C++ -> 代码生成,这个配置项里面“运行库”在Debug配置下默认是/MDd,但是在Release下默认是/MD,同样由于不匹配,报错。

所以坚持一个原则,无论是构建lib文件还是DLL文件,一定既要Debug的版本,也要Release的版本,而且在使用的时候一定要匹配上。才能尽可能避免这种问题。如果还是出现了类似问题,按照上面的思路去查找源头并修改你的配置即可。

解决:warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;找到 MSIL .netmodule 或使用 /GL 编译的模块;正在。。;LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/LTCG”规范)的更多相关文章

  1. 解决:warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;找到 MSIL .netmodule 或使用 /GL 编译的模块;正在。。;LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/LTCG”规范)

    参考资料: http://blog.csdn.net/laogaoav/article/details/8544880 http://stackoverflow.com/questions/18612 ...

  2. LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突:请使用 /NODEFAULTLIB:library 转自:http://blog.csdn.net/pgms ...

  3. warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    最近在编译库文件后,使用它做APP,遇到如下问题: 1>LIBCMT.lib(invarg.obj) : error LNK2005: __pInvalidArgHandler 已经在 LIBC ...

  4. LNK4098: 默认库“MSVCRT”与其他库的使用冲突

    LNK4098: 默认库"MSVCRT"与其他库的使用冲突 修改的方法:在项目属性中,在连接器-输入选项中,在忽略特定库中添加相应的库,具体添加那些苦请参照下面的表格. 下面的内容 ...

  5. warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    解决方法:是所有项目的这个"代码生成"属性设置保持一致. 项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都 ...

  6. LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    解决方法 属性=>配置属性=>输入=>忽略特定库LIBCMT

  7. 解决git提交敏感信息(回退git版本库到某一个commit)

    解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提 ...

  8. linux下gcc默认搜索头文件及库文件的路径

    一.头文件gcc 在编译时如何去寻找所需要的头文件:※所以header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC ...

  9. wince6.0 编译报错:"error C2220: warning treated as error - no 'object' file generated"的解决办法

    内容提要:wince6.0编译报错:"error C2220: warning treated as error - no 'object' file generated" 原因是 ...

随机推荐

  1. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

  2. 4星|《财经》2018年第15期:电动飞机、无人小飞机、AI无人机

    <财经>2018年第15期 总第532期 旬刊 本期主题是AI.有多篇国内AI行业的比较深入的调查报告,比较有意思的有:电动飞机.无人小飞机.AI无人机.欧盟通用数据保护条例.Amazon ...

  3. 【ANSIBLE】ansible控制windows插件安装及运行error与解决方法

    一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: https://pypi.python.org/packages/b6/ac/70 ...

  4. 常用DOS指令备忘

    1.删除整个目录,包括空目录 rd D:\管理\2012新同学练习\.svn /s/q /s 删除当前目录及子目录 /q 不询问直接删除 2.拷贝目录树 xcopy D:\管理\2012新同学练习 E ...

  5. 兰亭集势收购美国社交购物网站Ador,收购的是人才

    1 月 6 日消息,外贸电商公司兰亭集势(LightInTheBox)今日宣布,已经完成对美国社交电商网站 Ador 公司的收购.Ador 公司总部位于西雅图.这项资产收购通过现金完成,但未披露交易金 ...

  6. 互评Alpha版本——可以低头,但没必要——取件帮

    基于NABCD评论作品,及改进建议: 1.根据(不限于)NABCD评论作品的选题 (1)N(Need,需求) 随着电商平台的发展,越来越多的人选择网购,但是东师的一部分快递网点不在校内,需要走很长的一 ...

  7. Beta版软件使用说明

    1引言 1 .1编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其运行环境,以便使用者了解本软件的使用范围和使用方法,并为软件的维护和更新提供必要的信息. 1 .2参考资料 1 .3术语 ...

  8. Android开发第二阶段(2)

    昨天:总结了第一阶段的开发经验 今天:学习了一下java中对事件处理这块的初步了解比如设置监听器等 明天:我会走进我们的代码去看看相关的一些知识.

  9. 敏捷冲刺DAY5

    一. 每日会议 1. 照片 2. 昨日完成工作 发布和提供需求功能的实现 用户修改自己的信息 用户界面设计 管理员界面设计 3. 今日完成工作 4. 工作中遇到的困难 1.设置的背景无法显示. 2.一 ...

  10. PSP 进度条 柱状图 饼状图

    9号 类别 开始时间 结束时间 间隔 净时间 燃尽图 8::00 8:20 0 20分钟 站立会议 8:20 8:50 0 30分钟 读构建之法 9:20 13:20 120分钟 120分钟 四人小组 ...