加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何避免“错误LNK2005:”(已经定义的stdlib函数)当编译libpng

发布时间:2020-12-13 20:50:27 所属栏目:Windows 来源:网络整理
导读:(为什么我试图这样做:我没有运气在Windows上使用libpng的预构建二进制文件(尽管多次尝试和错误),因此我正在尝试自己编译,我发现 this helpful blog post关于这个,完成与Microsoft Visual Studio 2008项目文件,但不幸的是仍然无法使用它。) 当链接到zlib
(为什么我试图这样做:我没有运气在Windows上使用libpng的预构建二进制文件(尽管多次尝试和错误),因此我正在尝试自己编译,我发现 this helpful blog post关于这个,完成与Microsoft Visual Studio 2008项目文件,但不幸的是仍然无法使用它。)

当链接到zlib二进制文件here时,它成功编译,但是当尝试将其链接到测试文件时,我收到以下内容:

    C:Documents and SettingsAdministratorMy Documents>cl "C:Documents and Settin
    gsAdministratorMy Documentstest.c" "C:Documents and SettingsAdministratorM
    y Documentslibpng.lib" -I "C:Documents and SettingsAdministratorMy Documentsinclude"

    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
    Copyright (C) Microsoft Corporation.  All rights reserved.

    test.c
    Microsoft (R) Incremental Linker Version 9.00.30729.01
    Copyright (C) Microsoft Corporation.  All rights reserved.

    /out:test.exe
    test.obj
    "C:Documents and SettingsAdministratorMy Documentslibpng.lib"
    MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _abort already defined in LIBCMT.lib(
    abort.obj)
    MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fread already defined in LIBCMT.lib(
    fread.obj)
    MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _malloc already defined in LIBCMT.lib
    (malloc.obj)
    MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _free already defined in LIBCMT.lib(f
    ree.obj)
    MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: ___iob_func already defined in LIBCMT
    .lib(_file.obj)
    LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; u
    se /NODEFAULTLIB:library
    test.exe : fatal error LNK1169: one or more multiply defined symbols found

任何人都可以关心如何解决这些错误?

问题是两个项目之一是使用多线程DLL,而另一个项目是使用多线程(没有DLL)在项目属性 – >配置属性 – > C/C++ – >代码生成

发生了几次。

确保即使对于发行版本进行“同步”设置,也可以为每种可能的组合(调试,非调试等)进行“同步”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读