如何从 MS VS 中的大量 .c 和 .h 文件编译静态库

Posted

技术标签:

【中文标题】如何从 MS VS 中的大量 .c 和 .h 文件编译静态库【英文标题】:How to compile static library from enormous amount .c and .h files in MS VS 【发布时间】:2016-06-28 22:40:24 【问题描述】:

我正在学习如何编译库,例如想编译 fltk 库。 要编译静态库,我需要 .h 和 .c 文件并编译它们,但该库不仅有许多 .h 和 .c 文件,还有一些我不知道如何处理它们的其他文件。在带有 .c 文件的名为“src”的文件夹中,有一些 .h 文件、.xbm、.xpm、.fl 等,包括“Makefile”,我想这可能对我有帮助。

那么,怎么做才对呢?

【问题讨论】:

通过查看 FLTK (github.com/fltk/test-only/blob/master/CMakeLists.txt) 的源代码,我看到 FLTK 使用 CMake 构建。使用CMake,您可以为您拥有的任何版本的 Visual Studio 生成 Visual Studio 项目文件。 谢谢。它以某种方式起作用。 Cmake 生成了一个 VS 解决方案,其中包含每个库模块的项目,然后我编译了它。 72 次成功,11 次失败,2 次跳过。 VS 做了一些 .lib 文件,包括 fltk.lib。 fltk.lib 是使用 fltk 库的示例。不知道是什么意思。这就像工作,但是...... 【参考方案1】:

使用库附带的构建系统怎么样?

听起来它希望你运行make

但即使它使用其他东西,如 CMake 或 SCons,似乎最好的选择还是只使用它所期望的,而不是尝试将其导入其他构建系统。

【讨论】:

严格来说,这不是一个答案,而是一个问题/评论。请考虑将其移至 cmets 部分。

以上是关于如何从 MS VS 中的大量 .c 和 .h 文件编译静态库的主要内容,如果未能解决你的问题,请参考以下文章

VS c++2005中头文件有的为啥必须加.h比如malloc

VS2019 使用头文件调用函数遇到错误,请求帮助!

cmath vs math.h(以及类似的 c 前缀 vs .h 扩展头文件)

通过c中的函数从文件中读取整数返回错误值

C语言 加图标

C++/CLI 包装器尝试使用 MFC CObject 继承