簡體   English   中英

為OpenSSL庫創建名稱空間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM