最近遇到的编译问题

最近遇到的编译问题,解决方法也都是在网上找到的,再分享下,希望遇到相同问题的朋友可以很快的解决。

 

在编译VC 工程时出现的编译错误
1、问题如下:
Linking...
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fclose already defined in LIBCD.lib(fclose.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in LIBCD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc already defined in LIBCD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strncpy already defined in LIBCD.lib(strncpy.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined in LIBCD.lib(sprintf.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __isctype already defined in LIBCD.lib(isctype.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __close already defined in LIBCD.lib(close.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __write already defined in LIBCD.lib(write.obj)
LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/module.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

原因及解决方法如下:主程序的库与 LIBCD 库链接方式不一致造成的。本例中LIBCD 是用动态链接的
所以可以设置:project->setting-> Generation->Use MFC in a shared DLL

 

2、

c:/program files/microsoft visual studio/vc98/mfc/include/afxv_w32.h(14) : fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>

于是, 我在VC6.0 集成环境中的菜单项project 下的setting 中设置使用MFC"use mfc in a shared DLL"

   即: project->setting->general->Microsoft Foundation Classed: 选择 Use MFC in a shared DLL"

   同时,加入:

   #include <afxwin.h>// 使用MFC

两点:

 1 、在project->setting->general->Microsoft Foundation Classed: 选择 Use MFC in a shared DLL

 2 #include 顺序调换可能会解决问题

 

3、 编译IDL 文件时,

产生下列错误:

D:/Work/Math/Calculator.idl(3) : error MIDL2311 : statements outside library block are illegal in mktyplib compatability mode : [ Interface 'ICalculator'  

]


D:/Work/Math/Calculator.idl(3) : error MIDL2096 : duplicated attribute : [uuid] [ Interface 'ICalculator' 
]


Error executing midl.exe.

解决方法是:


   
需要在project-》setting里的project options
中将IDL 文件的MIDL/mktyplib203 选项去掉

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值