我試圖從SSL客戶端程序調用方法SSL_export_keying_material()。但是,調用此方法會導致程序編譯失敗。我收到以下錯誤。我怎麼能過來這個編譯錯誤?OpenSSL編譯問題SSL_export_keying_material()
clang -cc1 version 5.1 based upon LLVM 3.4svn default target x86_64-apple-darwin13.2.0
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.9.0 -o withssl -lssl -lcrypto /var/folders/1b/smlgh1256t95yw11pqs2hz380000gn/T/withssl-08785c.o -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1/lib/darwin/libclang_rt.osx.a
Undefined symbols for architecture x86_64:
"_SSL_export_keying_material", referenced from:
_main in withssl-08785c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1
謝謝
Assert提供了一個錯誤,雖然:體系結構x86_64的未定義符號:「_ASSERT」,引用來自:_main在withssl-b70c9a.o ld:符號(s)未找到架構x86_64 – user340 2014-09-25 12:25:51
@kani --'ASSERT'是我的自定義斷言。如果你沒有,使用'#define ASSERT(x)assert(x)'。然後包括''或''。您可以閱讀OWASP [基於C的工具鏈強化](http://www.owasp.org/index.php/C-Based_Toolchain_Hardening#ASSERT)使用的ASSERT。實際上,在調試版本中,我的'ASSERT'調用'SIGTRAP'(捕捉調試器)而不是'SIGABRT'(以殺死程序)。 –
jww
2014-09-25 14:12:32
Thannx現在修好了! – user340 2014-09-25 14:38:43