vc生成独立运行文件时的链接错误

shiningmm 2008-05-31 04:46:54
用vc++ 6.0 写的程序可以在Debug、use mfc in a shared dll模式下运行无误,但是当把设置改为use mfc in a static library、win32 Release时却会出现很多链接错误。该怎么改?
该程序有三个工程链接在一起的,还有三个lib文件,Graphs.lib,Jpeglib2.lib,MapData.lib
例如:
nafxcw.lib(app3d.obj) : error LNK2001: unresolved external symbol _atexit
nafxcw.lib(wingdix.obj) : error LNK2001: unresolved external symbol _atexit
gScene.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler
gVector.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler
MapData.Lib(MapDataOpenSave.obj) : error LNK2001: unresolved external symbol ___CxxFrameHandler
Bmp2Bzr.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler
CtrlCanvas.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler
FrmGraph.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
嵌云阁主 2008-05-31
  • 打赏
  • 举报
回复
很明显,链接了错误的libc库,估计问题在/nodefaultlib这个选项。
Chivalry 2008-05-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shiningmm 的回复:]
还是不行啊,win32 Debug的project->setting->link的设置为:
Category:General
Output file name: ../Debug/Bmp2Bzr.exe
Object/library modules: MapData.Lib Graphs.Lib JpegLib2.lib
钩选了Generate debug info和Link incrementally
Project Options:
MapData.Lib Graphs.Lib JpegLib2.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/Bmp2Bzr.pdb" /debug /machine:I386 /nodefaultlib:"LIBCMTD…
[/Quote]

对比project->setting其他地方的设置
shiningmm 2008-05-31
  • 打赏
  • 举报
回复
还是不行啊,win32 Debug的project->setting->link的设置为:
Category:General
Output file name: ../Debug/Bmp2Bzr.exe
Object/library modules: MapData.Lib Graphs.Lib JpegLib2.lib
钩选了Generate debug info和Link incrementally
Project Options:
MapData.Lib Graphs.Lib JpegLib2.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/Bmp2Bzr.pdb" /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"../Debug/Bmp2Bzr.exe" /pdbtype:sept /libpath:"../Debug"
按照1楼的意见,我把win 32 ReleaseDebug的project->setting->link的设置为:
Category:General
Output file name:../Release/Bmp2Bzr.exe
Object/library modules: MapData.Lib Graphs.Lib JpegLib2.lib
钩选了Generate debug info和Link incrementally
Project Options:
MapData.Lib Graphs.Lib JpegLib2.lib /nologo /subsystem:windows /incremental:yes /pdb:"Release/Bmp2Bzr.pdb" /debug /machine:I386 /nodefaultlib:"LIBCMT" /nodefaultlib:"LIBCMTD" /out:"../Release/Bmp2Bzr.exe" /libpath:"../Release"
这样怎么还是有那么多错啊?
jhs1982419 2008-05-31
  • 打赏
  • 举报
回复
改变下设置就可以了。
Chivalry 2008-05-31
  • 打赏
  • 举报
回复
把win32 Release的project->setting->link的设置改成和debug一样

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧