想在VC2005做一个程序,不需要带VCMFC的运行时库。说明:程序引用了一些静态库!在主程序中,常规-MFC的使用,选择 ,动态没什么问题,
选择静态后出现error LNK2001: 无法解析的外部符号 错误
怎么也解决不了这个问题,望高手相救,

解决方案 »

  1.   

    这不就是你没有链接Lib的问题
      

  2.   

    呵呵,如果这么简单,我就不上来提问了!非常痛苦关键是动态链接的时候可以,静态链接的时候不行!
    我百度,google 了很多,都解决不了
    不知道是不是VC2005不能解决
      

  3.   

    坦白说,俺也做了几年的VC,以前一般都是动态编译,现在老板要求静态编译。那几个DLL占用的空间太大,因为我们做的是一个客户端。
    没想到静态编译就出这个问题。是不是那些静态库也要静态编译了?
      

  4.   

    静态库必须和工程使用同样的编译器同样的编译选项才能链接上去.但是静态库无法静态编译啊
    选择静态编译后,出现以下错误
    fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds
    将代码生成改为MD后出现如下错误
    fatal error C1189: #error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD到底怎么解决这个问题了!在线等待,急啊!@
      

  5.   

    这个MFC的可以不相同,
    主要是线程模型,和使用编码的问题.这两个是必须一样的.
    其他的似乎不相同也可以链接上去.但最好是一样
      

  6.   

    但是静态库好像是没办法编译成(MT和静态使用MFC的),主程序要求使用(MT和静态使用MFC的)的!
      

  7.   

    但是静态库好像是没办法编译成(MT和静态使用MFC的),主程序要求使用(MT和静态使用MFC的)的!
    ???
    要是你的静态库不使用mfc就选择非mfc的就可以了.
      

  8.   

    关键是静态库使用了MFC啊!不用MFC能做什么事情啊?
      

  9.   

    那你的静态库是如何链接MFC库和运行库的??
    在你的exe工程里面也采用同样的方式.
    肯定能解决的
      

  10.   

    把 CRT 和MFC 全部选择成为静态链接就可以了哦。
    我用过很多次了 都可以的。
    因为VC8库系统不自带 我都是静态链接的
      

  11.   

    说明:静态库无法使用(MT和静态使用MFC的 链接EXE工程使用静态链接也出现问题、例如在静态库定义的一些变量,函数,在EXE程序里面无法辨认请问 cby1990怎么设置CRT也为静态的。
      

  12.   

    找到 #define _AFXDLL 删除