locating mfc90d.lib

Jollia:With the goal of learning to use opengl, I loaded the some Micorosft samples and built one called cube.  It compiles but fails with the error:

LINK : fatal error LNK1104: cannot open file 'mfc90d.lib'

The file does exist in two places.  The first is here:
C:/Program Files/Microsoft Visual Studio 9.0/VC/atlmfc/lib

and the second is one more directory down in    /amd64/

The first is 3,470,288 bytes with a date of 11/6/2007 at 9:06PM and the second is 3,421,794 bytes of the same date but a time of 8:46 PM.

After poking around in my solution options I don't know how to tell Visual Studio to look for this file, or which one should be used.  A google search returned one old question from 2005 involving an older version. 

Should I copy this file somewhere, and if not, how do I tell Visual Studio 2008 where to find it?

Tony:You shouldn't copy the files from amd64 or ia64 since they are only for amd64 or ia64.   You should be able to find mfcd90.lib, mfcsd90.lib in C:/Program Files/Microsoft Visual Studio 9.0/VC/atlmfc/lib.  The VC++ lib directory should include $(VCInstallDir)atlmfc/lib.  If you can't find the mfcd90.lib, mfssd90.lib in C:/Program Files/Microsoft Visual Studio 9.0/VC/atlmfc/lib,  then you VS is corrupted.  If the directory doesn't include $(VCInstallDir)atlmfc/lib, then add it.  You don't need to change the platform from win32 to amd64 or ia64 if you only want to build the application running on win32.

This posting is provided "AS IS" with no warranties, and confers no rights.

 


 

Jenna:You can check from here:  Tools->Options->Projects and solutions->VC++ directories->Library files.  It should contains the directory $(vcinstalldir)atlmfc/lib; $(vcinstalldir)/atlmfc/lib/i386. 

Please also check the Platform that you are targeting.  It seems you build application for win32,  make sure when you check the Win32 library path.  (There is platform selection in the same page)


This posting is provided "AS IS" with no warranties, and confers no rights.

Hello Weidong Huang,

I made the check and the options were already there.  I tried to change the platform From Win32  to option x64, but it won't stick.  If I OK the Options window with with x64, close it, and open it, its back to Win 32.  I think I do not have an X64 or an amd64 installed.  I am assuming that is the purpose of those two libraries.

Before answering this, I hunted down some likely locations for these files.  The candidates are:
C:/Program Files/Microsoft Visual Studio 9.0/VC/bin/lib
and the two subdirectories /amd64 and /ia64. 

A look at control panel->systems indicates I have an Intel.  After some playing around and copying both versions of the files around, it finally liked mfd90d.lib.  But then it wanted mfcs90d.lib.  After some more copying, the best I can get returns this linker error:

mfcs90d.lib(nolib.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'IA64'

So does this help you to help me any?

 


~jag77

here is an edit:
If I change the names of the lower level directory /lib/amd64 to amd64.xxx it doesnt matter.  If I change /lib/ia64 to ia64xxx it complains it cannot find mfc90d.  A copy of both of the files mentioned are in the /lib directory, but VS does seem to want them in that location.  I looked back in the configuration and nothing seems to specify the /ia64 directory.
But I did find an entry in the exclude directories for $(VCInstallDir)altmfc/lib which looks like it might be where I found the files to start with.

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值