在 VS2013 中使用 lib 文件

Working with lib files in VS2013

我创建了一个名为 StackExample.lib 的 lib 文件。 Stack.hppExample.hpp 中描述了函数和对象。

我想轻松导入我的库,所以我编写了另一个名为 StackExample.hpp 的文件。

此文件包含:

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

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

不幸的是,我无法再编译 StackExample.lib 因为它无法导入自身。

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

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

然后右键单击您的库项目,select Properties => Configuration Properties => C/C++ => Preprocessor

将 __STACK_EXAMPLE_INTERNAL 添加到 "Preprocessor Definitions"。

这样您的图书馆将定义此定义,而客户的(希望)不会。