我寫了一個C函數,它調用openssl/sha.h
中定義的函數,假設聲明爲"helper.h"
,實現爲"helper.c
「。該功能使用gcc並把它放在一個庫:鏈接器錯誤,使用g ++鏈接到由gcc編譯的庫,未定義的引用該函數
gcc -std=c99 -lcrypto -lssl -c helper.c -o helper.o
ar -rc helper.a helper.o
然後我寫了調用"helper.h"
聲明功能的CPP功能我添加
extern "C" {
#include "helper.h"
}
東西在日在CPP文件,然後我用
g++ test.cpp helper.a -o cpp
然後發生LD錯誤並說我遇到用於openssl/sha.h
定義的函數未定義的引用。我想知道如何解決這個問題?
將'-lssl'加到第二個gcc命令中。 – riodoro1
請注意,第一個命令的'-l'選項被忽略,因爲沒有鏈接完成。 – Quentin
@ riodoro1我試過了,它不起作用 – shihanlin9