zoukankan      html  css  js  c++  java
  • [转]解决在库中已定义的办法

    1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
    1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: __CrtDbgReportW 已经在 libcmtd.lib(dbgrptw.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _wcslen 已经在 libcmtd.lib(wcslen.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _vsprintf_s 已经在 libcmtd.lib(vsnprnc.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _sprintf_s 已经在 libcmtd.lib(sprintf.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _vswprintf_s 已经在 libcmtd.lib(vswprnc.obj) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: _swprintf_s 已经在 libcmtd.lib(swprintf.obj) 中定义
    1>libcmtd.lib(crt0init.obj) : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    参考:http://blog.csdn.net/wuxch_hz/archive/2010/02/24/5321586.aspx

    http://topic.csdn.net/t/20030507/17/1751913.html

     

    解决方法:忽略冲突的库。例如,这里忽略msvcrtd.lib,因为它是我自己的lib里面链接的,而现在编译的exe应该使用libcmtd.lib库。

    或者,在exe里面使用dll的配置,即,加入宏定义_AFXDLL,并使用/MDd多线程调试dll配置。

    主要是由于运行时库冲突。

     

    2010.3.29 19:01 注:

    上面的方法还是不行!会出现其他问题的。

    以下是我摸索出的最新的解决方法:

    首先,所有的lib文件,使用/MTd或/MT编译。Debug调试模式使用/MTd,Release模式使用/MT。

    然后,在自己的程序中也使用/MTd或/MT编译。这样就不会出问题了。

    三种编译链接库的方式:

    (1)连接Windows库。针对Win32 API编写的应用程序,上面的方法可能带来新问题,可以忽略libcmt.lib库,即可。如果还有其他问题,再忽略相应的库。

    (2)MFC静态链接。上面的方法就是针对这种链接方式的,所以没问题。

    (3)MFC动态链接。没有试过,应该和(1)类似。

     

    最后补充:如果还不行,直接加入/force:multiple编译参数吧。这次之所以没有使用它,也是为了严谨起见。

  • 相关阅读:
    大话设计模式笔记(二十)の命令模式
    大话设计模式笔记(十九)の桥接模式
    大话设计模式笔记(十八)の单例模式
    大话设计模式笔记(十七)の迭代器模式
    反射的使用及其使用场景
    linq的简单使用
    XML的简单使用
    log4net的简单使用
    token
    axios在vue中的简单封装及应用
  • 原文地址:https://www.cnblogs.com/taozijy/p/3724287.html
Copyright © 2011-2022 走看看