2015-05-01 39 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到 「預處理器定義」。

這樣你的圖書館將定義這個定義和客戶端(希望)不是。

相關問題