我创建了一个名为StackExample.lib
的lib文件。 Stack.hpp
和Example.hpp
中描述了函数和对象。
我想轻松导入我的库,所以我写了另一个名为StackExample.hpp
的文件。
此文件包含:
#pragma once
#pragma comment(lib, "StackExample.lib")
#include "Stack.hpp"
#include "Example.hpp"
不幸的是,我无法再编译StackExample.lib
,因为它无法导入自己。
是否有可以使用的预编译器语句,以便所有导入程序加载lib但我的lib会忽略该行?
答案 0 :(得分:1)
#ifndef __STACK_EXAMPLE_INTERNAL
#pragma comment(lib, "StackExample.lib")
#endif
然后右键单击您的库项目,选择Properties =>配置属性=> C / C ++ =>预处理器
将__STACK_EXAMPLE_INTERNAL添加到“预处理器定义”中。
这样你的库就会定义这个定义而客户端(希望)不会。