静态库不包含宏
问题描述:
我有一个静态库项目(用C语言编写)和另一个样本项目(C语言编写)的Visual Studio 2015下我可以使用功能位于在图书馆示例项目没有任何问题。我的问题是,我在静态库项目的一个头文件中有一个宏,我在示例项目中看不到(或使用)这个宏。我收到这个错误:“主函数中引用的未解析的外部符号ADD1”。我如何在示例项目中使用这个宏?静态库不包含宏
注:我使用的示例项目由于在库文件到该编译该编译指示:#pragma评论(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”。
大多数库(不是全部)都会有一些内部的头文件。你是对的,这些不应该被其他项目看到,并且将严格在内部使用。
所有图书馆将具有定义他们的API一些“公共”的标题。没有公共API的代码库是无用的,或者实际上是一个独立的应用程序。
和你怎么包括该库的头文件? –
您是否在代码中包含标题? – LPs
不,我不知道!此外,我不想包含任何静态库项目的头文件。他们不应该被其他项目看到。 – sanchop22