Windows静态库

时间:2010-09-14 22:41:08

标签: visual-studio-2008 visual-c++ static-libraries

我创建了一个静态库,我有.lib和头文件。我的朋友尝试使用这个库,但是当他包含这个头文件时,他的编译器没有找到依赖项(其他库和头文件)。

是否可以在Visual Studio 2008中创建一个静态库,它不需要任何其他依赖项,只需要编译器在此signle lib中添加所需的依赖项?

如果他不必安装winddk,wdk等,那可能会很好......

2 个答案:

答案 0 :(得分:0)

我认为您希望在.lib文件中包含运行时库。

  1. 右键点击您的项目
  2. 转到配置属性 - > C / C ++ - >代码生成窗格
  3. 对于运行时库,选择多线程调试(/ MTd)
  4. 也为Release配置重复stpes 1-3。

    .lib文件的用户需要在.exes中执行相同的操作。 您仍然需要分发.lib文件和.h文件。

答案 1 :(得分:0)

  

是否可以在Visual Studio 2008中创建一个静态库,它不需要任何其他依赖项,只需编译器在此signle lib中添加所需的依赖项?

是.. microsoft visual c编译器不支持构建具有零依赖性的exe / lib 零依赖性=只需要系统库和msvcrt.dll

Mingw确实支持在链接器选项中使用-static 将生成一个可靠的免费构建需要msvcrt.dll运行时,可以在任何系统上找到..
对于microsoft的visual c编译器,它将需要相同版本的c运行时,例如msvcrt9p.dll,...
这会强制任何想要运行应用程序的人下载开发中使用的相同版本的.Net Runtime