[英]Creating a name space for OpenSSL Library?
編譯OpenSSL Lib時是否可以創建一個單獨的命名空間? 我正在使用https://github.com/x2on/OpenSSL-for-iPhone 。
我之所以需要它,是因為我正在構建的當前SDK使用OpenSSL,但是當我將其傳遞給客戶時,他們也使用了不同版本的OpenSSL,這會導致重復的符號鏈接器錯誤。
另一個問題是,客戶有沒有其他方法來使用我們現有的SDK,而無需為OpenSSL Lib定義我們自己的名稱空間?
OpenSSL是一個C庫。 C不支持名稱空間。
如果您確實有命名沖突,則解決此問題的最佳方法是使用包裝器庫。
就像一個小例子一樣。
wrapper.h:
void xxxxxOpenSSLFunction1();
void xxxxxOpenSSLFunction2();
void xxxxxOpenSSLFunction3();
包裝器
#include <OpenSSL...>
#include <OpenSSL...>
void xxxxxOpenSSLFunction1() { OpenSSLFunction1(); }
void xxxxxOpenSSLFunction2() { OpenSSLFunction2(); }
void xxxxxOpenSSLFunction3() { OpenSSLFunction3(); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.