您的位置:程序门 -> vc/mfc -> 基础类



vc2005下使用vc6编译的库可行吗?


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


vc2005下使用vc6编译的库可行吗?
发表于:2007-06-11 17:56:43 楼主
我想在vc2005下使用由vc6编译的库文件(静态、动态、release、debug都行),不知道这是否可行,我尝试了多次都是不行,那位兄弟知道请指教
发表于:2007-06-11 18:06:161楼 得分:0
当然可以,你说的不行是不是因为编译选项不兼容?
发表于:2007-06-11 18:13:232楼 得分:0
vc2005   use   unicode   characters   by   default.
发表于:2007-06-11 18:32:543楼 得分:0
可以的,有很多老的应用是在mfc下面的啊,但是我建议,c++cli比以前的好多了,可以试着转过去
发表于:2007-06-11 18:35:544楼 得分:0
通常可以.
但有些库的语法不规范,vs2005的语法检查严格,可能需要自己修改部分的代码.
发表于:2007-06-11 19:34:255楼 得分:0
既然是binary了,都可以跨编译器了,怎么不能跨一个编译器的不同版本呢?
发表于:2007-06-11 19:36:566楼 得分:0
你碰到的问题详细描述出来看...
发表于:2007-06-11 20:45:257楼 得分:0
可以
发表于:2007-06-11 21:05:468楼 得分:0
antlrd.lib是我使用vc6编出来的,在vc2005下编译是通过了,但是连接时出了问题,如下


1> linking...
1> link   :   warning   lnk4076:   invalid   incremental   status   file   'g:\utcgen\utcgen\m2c\m2c.ilk ';   linking   nonincrementally
1> libcpmtd.lib(xlock.obj)   :   error   lnk2005:   "public:   __thiscall   std::_lockit::_lockit(void) "   (??0_lockit@std@@qae@xz)   already   defined   in   antlrd.lib(tokenstreamselector.obj)
1> libcpmtd.lib(xlock.obj)   :   error   lnk2005:   "public:   __thiscall   std::_lockit::~_lockit(void) "   (??1_lockit@std@@qae@xz)   already   defined   in   antlrd.lib(tokenstreamselector.obj)
1> libcmtd.lib(stdexcpt.obj)   :   error   lnk2005:   "public:   __thiscall   std::bad_cast::bad_cast(char   const   *) "   (??0bad_cast@std@@qae@pbd@z)   already   defined   in   antlrd.lib(parser.obj)
1> libcmtd.lib(stdexcpt.obj)   :   error   lnk2005:   "public:   __thiscall   std::bad_cast::bad_cast(class   std::bad_cast   const   &) "   (??0bad_cast@std@@qae@abv01@@z)   already   defined   in   antlrd.lib(parser.obj)
1> libcmtd.lib(stdexcpt.obj)   :   error   lnk2005:   "public:   virtual   __thiscall   std::bad_cast::~bad_cast(void) "   (??1bad_cast@std@@uae@xz)   already   defined   in   antlrd.lib(parser.obj)
1> link   :   fatal   error   lnk1104:   cannot   open   file   'libcpd.lib '
1> creating   browse   information   file...
1> microsoft   browse   information   maintenance   utility   version   8.00.50727
1> copyright   (c)   microsoft   corporation.   all   rights   reserved.
1> build   log   was   saved   at   "file://g:\utcgen\utcgen\m2c\debug\buildlog.htm "
1> m2c   -   6   error(s),   1   warning(s)
==========   rebuild   all:   0   succeeded,   1   failed,   0   skipped   ==========
发表于:2007-06-11 21:11:189楼 得分:0
因为依赖的运行库lib不一样噢
vc6依赖的是msvcrt   vc8依赖的是msvcrt80   之类的
所以无法链接的.
静态库的话必须使用同一个编译器,使用相同的编译选项编译.
标准dll的话倒是可以不同编译器混合使用的


快速检索

最新资讯
热门点击