的代碼庫:動態鏈接庫中找不到-lmean
calc_mean.c
//#include <stdio.h>
double mean(double a, double b) {
return (a+b)/2;
}
頭文件:
calc_mean.h
使用庫的程序:
main.c中
#include <stdio.h>
#include "calc_mean.h"
int main(int argc, char* argv[]) {
double v1, v2, m;
v1 = 5.2;
v2 = 7.9;
m = mean(v1, v2);
printf("The mean of %3.2f and %3.2f is %3.2f\n", v1, v2, m);
return 0;
}
我創建使用以下命令靜態庫:
gcc -c calc_mean.c -o calc_mean.o
ar rcs libmean.a calc_mean.o
鏈接對靜態庫:完全沒有問題,只要
gcc -static main.c -L. -lmean -o statically_linked
一切正常,其靜態庫.. 。
現在這些是我用來創建共享的命令庫:
gcc -c -fPIC calc_mean.c -o calc_mean.o
gcc -shared -Wl,-soname,libmean.so.1 -o libmean.so.1.0.1 calc_mean.o
當我進入linkng命令
gcc main.c -o dynamically_linked -L. -lmean
我收到錯誤消息無法找到-lmean LD返回1退出狀態
連接錯誤的信息在這裏這兩個命令後
可以有人給我在C中創建DLL的步驟嗎?
gcc -c -fPIC calc_mean.c -o calc_mean.o gcc -shared -Wl,-soname,libmean.so.1 -o libmean.so.1.0.1 calc_mean.o代替這個,我用這些命令gcc -c -fPIC calc_mean.c -o calc_mean.o gcc -shared -Wl,-soname,libmean.so -o libmean.so calc_mean.o但是仍然收到相同的錯誤 – Savn
@Savn,不能。 – SergeyA
上午使用WIN7 .... – Savn