openssl 使用 未定义的引用

ubuntu 下使用 openssl 3des 加密编译报错

/tmp/ccsIK1Cj.o:在函数‘main’中:
test.cpp:(.text+0x218):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x24a):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x27c):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x38e):对‘DES_ecb3_encrypt’未定义的引用
test.cpp:(.text+0x3bc):对‘DES_ecb3_encrypt’未定义的引用

g++ test.cpp -lopenssl
提示找不到 openssl

g++ test.cpp -lssl
提示找不到
/tmp/cc80qLkD.o:在函数‘main’中:
test.cpp:(.text+0x218):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x24a):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x27c):对‘DES_set_key_unchecked’未定义的引用
test.cpp:(.text+0x38e):对‘DES_ecb3_encrypt’未定义的引用
test.cpp:(.text+0x3bc):对‘DES_ecb3_encrypt’未定义的引用
collect2: error: ld returned 1 exit status

g++ test.cpp -lcrypto
成功通过。
总结:首次使用不是很清楚,猜测是不是 openssl 的加密在 crypto 库。

你可能感兴趣的:(c/c++)