在 VS2013 中使用 lib 文件
Working with lib files in VS2013
我创建了一个名为 StackExample.lib
的 lib 文件。 Stack.hpp
和 Example.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"。
这样您的图书馆将定义此定义,而客户的(希望)不会。
我创建了一个名为 StackExample.lib
的 lib 文件。 Stack.hpp
和 Example.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"。
这样您的图书馆将定义此定义,而客户的(希望)不会。