您的位置:程序门 -> vc/mfc -> 进程/线程/dll



vc2005 静态编译问题(md,mt)(高手请进)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vc2005 静态编译问题(md,mt)(高手请进)[已结贴,结贴人:hufei036]
发表于:2007-05-25 11:06:26 楼主
想在vc2005做一个程序,不需要带vcmfc的运行时库。

说明:程序引用了一些静态库!

在主程序中,常规-mfc的使用,选择   ,动态没什么问题,
选择静态后出现error   lnk2001:   无法解析的外部符号   错误
怎么也解决不了这个问题,望高手相救,
发表于:2007-05-25 11:12:341楼 得分:10
这不就是你没有链接lib的问题
发表于:2007-05-25 11:21:182楼 得分:0
呵呵,如果这么简单,我就不上来提问了!非常痛苦

关键是动态链接的时候可以,静态链接的时候不行!
我百度,google   了很多,都解决不了
不知道是不是vc2005不能解决
发表于:2007-05-25 11:33:343楼 得分:0
坦白说,俺也做了几年的vc,以前一般都是动态编译,现在老板要求静态编译。那几个dll占用的空间太大,因为我们做的是一个客户端。
没想到静态编译就出这个问题。

是不是那些静态库也要静态编译了?
发表于:2007-05-25 11:34:144楼 得分:10
静态库必须和工程使用同样的编译器同样的编译选项才能链接上去.
发表于:2007-05-25 11:41:215楼 得分:0
静态库必须和工程使用同样的编译器同样的编译选项才能链接上去.

但是静态库无法静态编译啊
选择静态编译后,出现以下错误
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

到底怎么解决这个问题了!在线等待,急啊!@
发表于:2007-05-25 11:48:326楼 得分:0
这个mfc的可以不相同,
主要是线程模型,和使用编码的问题.这两个是必须一样的.
其他的似乎不相同也可以链接上去.但最好是一样
发表于:2007-05-25 12:43:097楼 得分:0
但是静态库好像是没办法编译成(mt和静态使用mfc的),主程序要求使用(mt和静态使用mfc的)的!
发表于:2007-05-25 12:45:118楼 得分:0
我也想知道
发表于:2007-05-25 13:28:419楼 得分:0
但是静态库好像是没办法编译成(mt和静态使用mfc的),主程序要求使用(mt和静态使用mfc的)的!
???
要是你的静态库不使用mfc就选择非mfc的就可以了.
发表于:2007-05-25 13:29:4310楼 得分:0
那看样子是没办法解决啊?

到底是没有办法解决还是大家真的都不知道啊?
发表于:2007-05-25 13:31:2311楼 得分:0
关键是静态库使用了mfc啊!不用mfc能做什么事情啊?
发表于:2007-05-26 00:30:0012楼 得分:0
那你的静态库是如何链接mfc库和运行库的??
在你的exe工程里面也采用同样的方式.
肯定能解决的
发表于:2007-05-26 01:22:1713楼 得分:0
把   crt   和mfc   全部选择成为静态链接就可以了哦。
我用过很多次了   都可以的。
因为vc8库系统不自带   我都是静态链接的
发表于:2007-05-28 15:31:1514楼 得分:0
说明:静态库无法使用(mt和静态使用mfc的   链接

exe工程使用静态链接也出现问题、

例如在静态库定义的一些变量,函数,在exe程序里面无法辨认

请问   cby1990怎么设置crt也为静态的。
发表于:2007-06-29 15:58:4715楼 得分:0
找到   #define   _afxdll   删除
发表于:2007-06-29 15:59:2816楼 得分:0
编译选项   /mt


快速检索

最新资讯
热门点击