X509_NAME 與WinCrypt衝突

轉載:http://blog.csdn.net/liuyu60305002/article/details/7742897


在Windows環境中使用 X509_NAME時,會因爲include的順序導致衝突。

如先

#include "openssl/x509.h" 

#include "windows.h"


X509_NAME *Name = X509_get_subject_name(p); //就會發生衝突 ,在windows中定義爲 #define X509_NAME                           ((LPCSTR) 7)   跟openssl的不一致。

因此需要調換#include 的順序,用openssl/x509.h 覆蓋wincrypt.h中的X509_NAME。

#include "windows.h"

...

#include "openssl/x509.h"


另外在類裏面,如果只導入 #include "openssl/x509.h" ,會出現 ”未定義的標識符“,也需要#include ”windows.h"。 此時才順利編譯成功。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章