我在 Visual Studio 2015 下有一个静态库项目(用 C 语言编写)和另一个示例项目(用 C 语言编写)。我可以使用示例项目中库中的函数没有任何问题。我的问题是我在静态库项目的一个头文件中有一个宏,但我在示例项目中看不到(或使用)这个宏。我收到此错误:“函数 main 中引用的未解析外部符号 ADD1”。如何在示例项目中使用此宏?
注意:我在示例项目中使用了库文件,这要归功于这个 pragma this pragma: #pragma comment(lib, "mylib.lib")
最佳答案
I do not want to include any of the header files of the static library project. They are not supposed to be seen by other projects.
我觉得有些困惑。
要使用任何库,您必须了解它的函数、数据类型(例如:enum
、struct
、typedef
)、宏等等...这一切共同构成了图书馆的“API”。
大多数 库(不是全部)都会有一些内部 header 。你是对的,这些不应该被其他项目看到,并且将严格在内部使用。
所有 库都有一些定义其 API 的“公共(public)” header 。没有公共(public) API 的代码库要么毫无用处,要么实际上是一个独立的应用程序。
关于c - 静态库不包含宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186632/