cJSON.c 在mfc中编译失败报 lnk2005错误

问题一、在MFC工程中导入cJson.c 编译时报以下错误:

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C1853    “x64\Release\xxx.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)    xxx   E:\xxx\cJSON.c    1    
解决办法:

不使用编译头

问题二、在MFC工程中导入cJson.c 编译时报以下错误:

1、严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK1169    找到一个或多个多重定义的符号    xxx   E:\xxx\xxx.dll    1    
2、严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2005    DllMain 已经在 MSVCRT.lib(dll_dllmain_stub.obj) 中定义    xxx E:\xxx\mfcs140u.lib(dllmodul.obj)    1    、

解决办法:

在工程配置文件.vcxproj中修改cjson.c的编译顺序

把以下 

<ItemGroup>
      <ClCompile Include="cJSON.c" />
    <ClCompile Include="xxx.cpp" />
    <ClCompile Include="yyy.cpp" /> 
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="cJSON.h" />
    <ClInclude Include="xxx.h" />
    <ClInclude Include="yyy.h" />
  </ItemGroup>

修改顺序为:

<ItemGroup>
    <ClCompile Include="xxx.cpp" />
    <ClCompile Include="yyy.cpp" /> 
    <ClCompile Include="cJSON.c" />
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="xxx.h" />
    <ClInclude Include="yyy.h" />
   <ClInclude Include="cJSON.h" />
  </ItemGroup>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值