2015-05-01 23 views
0

我创建了一个名为StackExample.lib的lib文件。有Stack.hppExample.hpp中描述的功能和对象。使用VS2013中的lib文件

我想要一个简单的时间导入我的库,所以我写了另一个文件StackExample.hpp

此文件包含:

#pragma once 
#pragma comment(lib, "StackExample.lib") 

#include "Stack.hpp" 
#include "Example.hpp" 

可惜我不能再编译StackExample.lib,因为它无法导入本身。

是否有预编译器声明,我可以使用,以便所有导入程序加载库,但我的库会忽略该行?

+2

使用只在'StackExample.lib'项目中定义的预处理器宏(使用项目的设置来定义)和#ifndef才有条件地添加'#pragma comment(lib,“StackExample.lib”)''正在使用该库。 – drescherjm

回答

1
#ifndef __STACK_EXAMPLE_INTERNAL 
#pragma comment(lib, "StackExample.lib") 
#endif 

,然后用鼠标右键单击您的库项目,选择Properties =>配置属性=> C/C++ =>预处理

添加__STACK_EXAMPLE_INTERNAL到 “预处理器定义”。

这样你的图书馆将定义这个定义和客户端(希望)不是。

相关问题