有关VC6单线程dll的问题

zhouzhenyan 2011-10-17 11:04:42
VC6中支持单线程dll,但VC2005、VC2008均不支持了。现在的问题是,有一个用VC6编译的静态库,使用了单线程dll运行库,在VC2008中引用该lib时,编译出现找不到libc.lib(VC6的单线程dll运行库)的提示,如何处理?(该lib为第三方提供,无源代码,无法重新用VC2008编译。)
...全文
120 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouzhenyan 2011-10-19
  • 打赏
  • 举报
回复
看来是没有办法了,结贴吧。
zhouzhenyan 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 gameslq 的回复:]
在VC2008中引用该lib时,编译出现找不到libc.lib(VC6的单线程dll运行库)的提示,如何处理?(
找台装有vc6的机器,把libc.lib拷贝到vc2008环境目录,然后
引用到vc2008工程


C/C++ code


#pragma comment (lib,"libc")


进行编译,他也是个lib而已,方法和普通的一样
[/Quote]

试过,一堆链接错误。也无法忽略默认库,由于该工程还引用了使用了Fortran的静态库(VC和Fortran混编),忽略默认库根本不奏效。
gameslq 2011-10-18
  • 打赏
  • 举报
回复
在VC2008中引用该lib时,编译出现找不到libc.lib(VC6的单线程dll运行库)的提示,如何处理?(
找台装有vc6的机器,把libc.lib拷贝到vc2008环境目录,然后
引用到vc2008工程

#pragma comment (lib,"libc")

进行编译,他也是个lib而已,方法和普通的一样
zhouzhenyan 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mdianng 的回复:]
在2008 连接选项上忽略libc.lib
[/Quote]

这个是必须的,忽略了就链接不过了啊。
fandh 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhouzhenyan 的回复:]
引用 1 楼 fandh 的回复:
用vc6重新包装一个新的含有libc.lib的运行库给2008用


包装成dll?现在的限制是必须在VC2008中引用静态库,而不是加载dll。
[/Quote]
也可以是静态库呀!
zhouganghao 2011-10-17
  • 打赏
  • 举报
回复
如果你知道具体的函数声明
直接用LoadLibrary来导入dll吧
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fandh 的回复:]
用vc6重新包装一个新的含有libc.lib的运行库给2008用
[/Quote]

包装成dll?现在的限制是必须在VC2008中引用静态库,而不是加载dll。
fandh 2011-10-17
  • 打赏
  • 举报
回复
用vc6重新包装一个新的含有libc.lib的运行库给2008用
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fandh 的回复:]
什么意思?你不是有这个libc.lib文件么?如果有的话,直接在2008里面配置就可以了!当然,路径要对!
[/Quote]

这个是VC6的运行库文件,因为VC6中支持单线程dll,这个就是单线程dll的库文件。VC2008中取消了单线程dll,我试过配置了VC6安装目录下的该文件,编译的时候一堆链接错误,忽略默认库也不行。
fandh 2011-10-17
  • 打赏
  • 举报
回复
什么意思?你不是有这个libc.lib文件么?如果有的话,直接在2008里面配置就可以了!当然,路径要对!
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fandh 的回复:]
另外,是不是路径错误呀!你配置的时候,有没有配置libc.lib的路径?
[/Quote]

VC2008没有这个库文件。
zhouzhenyan 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fandh 的回复:]
引用 2 楼 zhouzhenyan 的回复:
引用 1 楼 fandh 的回复:
用vc6重新包装一个新的含有libc.lib的运行库给2008用


包装成dll?现在的限制是必须在VC2008中引用静态库,而不是加载dll。

也可以是静态库呀!
[/Quote]

包装成静态库后,VC2008的程序链接这个包装的静态库时还是会需要libc.lib的。所以不好弄。
fandh 2011-10-17
  • 打赏
  • 举报
回复
另外,是不是路径错误呀!你配置的时候,有没有配置libc.lib的路径?
MDianng 2011-10-17
  • 打赏
  • 举报
回复
在2008 连接选项上忽略libc.lib

15,471

社区成员

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

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