zoukankan      html  css  js  c++  java
  • MFC程序下,关于静态lib库的调用上的连接问题

    • 问题起源:

     Linking...
    libc.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll)
    libc.lib(crt0dat.obj) : error LNK2005: __exit already defined in msvcrtd.lib(MSVCRTD.dll)
    libc.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrtd.lib(cinitexe.obj)
    libc.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in msvcrtd.lib(cinitexe.obj)
    libc.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrtd.lib(cinitexe.obj)
    libc.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in msvcrtd.lib(cinitexe.obj)
    LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
    msvcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library.

    • 问题分析:

    提示库冲突,那么vc6下,工程->设置->连接,分类里边的输入,然后在忽略库里边写上libc.lib,以此来屏蔽该库。

    接下来提示:

     

    Linking...
    libcp.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __pctype
    libcp.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol _errno
    libcp.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
    libcp.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol ___lc_codepage
    libcp.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol ___lc_handle

    • 再次分析

    可见上面的方法还不能解决问题。

    细细想来,程序结构是mfc程序+静态lib库,mfc调用了lib库的导出函数。

    问题产生原因是因为,在mfc程序默认是使用mfc作为共享dll,而lib库则是静态编译的。所以应该程序改为使用mfc作为静态链接库。

     

    • 问题解决

    vc6下,工程->设置->常规,将默认的使用mfc作为共享dll改为,使用mfc作为静态链接库。

    忽略库:libc.lib

  • 相关阅读:
    Win10 企业版ltsc 无法访问samba网络共享问题及解决!(转)
    内核发送uevent的API,用户空间解析uevent(转)
    修改kile工程名字(转)
    gdb调试
    当usbnet打印 kevent * may have been dropped(转)
    收藏一份devmem源码
    Linux Performance
    控制 input框只输入数字
    springboot环境中,可能会出现使用font-Awesome结果图标不显示的问题,在webService的pom文件中添加如下配置代码
    js防止页面抖动(按钮,请求等重复提交)
  • 原文地址:https://www.cnblogs.com/rainduck/p/1865874.html
Copyright © 2011-2022 走看看