为什么MSCVRT库产生冲突的链接时间呢?[重复]
-
23-09-2019 - |
题
这个问题已经有一个答案在这里:
我建立的一个项目的视觉C++2008年,这是一个例子MFC为基础的应用程序,用于一个静态C++类图书馆我会用我自己的项目。同时建立的配置调试,我会得到如下:
警告LNK4098:defaultlib'MSVCRT'冲突与使用其他库;使用/NODEFAULTLIB:图书馆
之后,使用推荐的选项(通过添加"msvcrt"到"忽略的具体的图书馆"领域中的项目连接设置调试配置)中,程序的链接和运行罚款。但是,我想找出你为什么这一冲突的发生,为什么我忽略一个关键库,并且如果我期待问题后,我如果添加所忽略,或者如果发生了什么我不(因为该程序建立无论如何)。
同时,释放置警告说:
警告LNK4075:忽略'/EDITANDCONTINUE',因为'/OPT:ICF'规范
警告LNK4098:defaultlib'MSVCRTD'冲突与使用其他库;使用/NODEFAULTLIB:图书馆
我猜,"D"后缀意味着这是调试版本的vc++运行时,不知道为什么这个得到使用这段时间。无论如何,添加"msvcrtd"到忽略的领域引起许多链接的错误的形式:
错误LNK2001:尚未解决的外部符号__imp___CrtDbgReportW
任何了解极大的赞赏。
解决方案
这通常发生在你的链接针对一个静态的图书馆使用的另一个版本的VC++runtime(C++ ->Code Generation->Runtime Library
设置在项目的性质)。
其他提示
这通常发生在我身上的时候我是(无意中)混合不同的口味的劳动教养,如(因为它似乎要在你的案例)调试和发布或MT和ST。
不隶属于 StackOverflow