在VC++2005里面使用静态CRT?

hesicong 2006-11-25 04:13:44
现在遇到一个实际困难:
有一个lib是用vc6编译的Static Library,提供了header文件(StaticLib.h),然后还有一个(StaticLib.lib),编译使用的是“静态单线程”的。
现在用VC++2005编译,连接过程中出错,提示找不到LIBC.LIB。查阅相关资料得出VS2005已经没有静态单线程支持(LIBC.LIB)。
现在的问题是,我没有这个LIB的源程序,所以也无法用静态多线程再次编译StaticLib.lib,如何在VC++2005里面正确链接这个LIB呢?
谢谢大家!
...全文
331 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hesicong 2006-11-30
  • 打赏
  • 举报
回复
基本明白了,谢谢:)
avisnet 2006-11-28
  • 打赏
  • 举报
回复
用vc6把lib封装,vc8调用

---------

这种方法也以前也用过,我要处理1G多的数据,处理几秒钟就有内存错误了。
不知道是什么原因引起的?
真相重于对错 2006-11-28
  • 打赏
  • 举报
回复
jiangshe 已经说了
用vc6把lib封装,vc8调用

hesicong 2006-11-28
  • 打赏
  • 举报
回复
莫非真的没人直到?··········
hesicong 2006-11-27
  • 打赏
  • 举报
回复
@avisnet(第十维度)
还是不行,只有多线程的库,而没有单线程的库,依然无法链接。
蒋晟 2006-11-26
  • 打赏
  • 举报
回复
create a DLL in VC6 and link it in VC8
avisnet 2006-11-26
  • 打赏
  • 举报
回复
是VC8
hesicong 2006-11-26
  • 打赏
  • 举报
回复
@avisnet(第十维度)
你说的是VC8里面么?
avisnet 2006-11-26
  • 打赏
  • 举报
回复
project properties->configuration properties->c/c++->code generation
在runtime library时修改c运行时库的链接方式。
hesicong 2006-11-25
  • 打赏
  • 举报
回复
@avisnet
我尝试过建立一个多线程的库,就可以连接而且正常使用,但是同样的代码编译成单线程就不可以连接了
avisnet 2006-11-25
  • 打赏
  • 举报
回复
2005中静态链接VC6的静态库是不可能的。
vc++全版本组件大全 VC++运行时(Visual C++ Runtime)是VC++开发环境中用于支持C和C++程序运行的基础库集合。这些库包含了执行C/C++程序所必需的基本函数和数据结构,例如内存管理、字符串操作、输入输出处理、异常处理等。VC++运行时库分为静态库和动态库两种形式,以适应不同类型的项目需求。 静态链接库 vs 动态链接库 静态链接库(Static Linking Libraries):在编译时,静态库的代码会被直接嵌入到最终生成的可执行文件中。这意味着每个使用静态库的程序都会包含库代码的一个副本,导致最终程序的体积较大,但不需要外部库文件支持即可独立运行。在VC++中,静态链接库的例子有LIBC.lib(用于单线程程序)和LIBCMT.lib(用于多线程程序)。 动态链接库(Dynamic Link Libraries):与静态链接相反,动态库的代码并不直接加入到应用程序中,而是在程序运行时被加载。这使得多个程序可以共享同一份库代码,节省了系统资源。VC++的动态运行时库主要通过msvcrt.dll(或其变体,如MSVCRTD.dll用于调试版本)实现,与之配套的导入库(Import Library)如CRTDLL.lib用于链接阶段。 运行时库的版本 VC++运行时库随着Visual Studio版本的更新而发展,每个版本都可能引入新的特性和优化,同时保持向后兼容性。例如,有VC++ 2005、2008、2010直至2019等多个版本的运行时库,每个版本都对应着特定的开发环境和Windows操作系统。 重要性 VC++运行时对于确保程序正确运行至关重要。当程序在没有安装相应运行时库的计算机上执行时,可能会遇到因缺失DLL文件(如MSVCP*.dll, VCRUNTIME*.dll等)而导致的错误。因此,开发完成后,通常需要分发相应的VC++ Redistributable Packages给最终用户安装,以确保程序能够在目标系统上顺利运行。 安装与部署 安装VC++运行时库通常是通过Microsoft提供的Redistributable Packages完成的,这是一个简单的过程,用户只需运行安装程序即可自动安装所需组件。对于开发者而言,了解和管理不同版本的运行时库对于确保应用程序的广泛兼容性和可靠性是必要的。

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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