我已经下载了 srp-2.1.2 包并尝试在 ubuntu 下编译它。但它不会被完全编译。请告诉我如何在 ubuntu 下编译它。
错误-
root@ubuntu:~/Desktop/srp-2.1.2/libsrp# make
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_client.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_conf.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_conv.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_getpass.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_sha.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_math.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_misc.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_pw.c t_pw.c:在函数“t_changepw”中:
t_pw.c:468:警告:忽略“链接”的返回值,用属性 warn_unused_result 声明
t_pw.c:470:警告:忽略“链接”的返回值,用属性 warn_unused_result 声明
t_pw.c:在函数“t_deletepw”中:
t_pw.c:540:警告:忽略“链接”的返回值,用属性 warn_unused_result 声明
t_pw.c:542:警告:忽略“链接”的返回值,用属性 warn_unused_result 声明
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_read.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_server.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c t_truerand.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c cstr.c
cstr.c:24:警告:从不兼容的指针类型初始化
cstr.c:24:警告:从不兼容的指针类型初始化
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srp.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c rfc2945_client.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c rfc2945_server.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srp6_client.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srp6_server.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c yp_misc.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c yp_tpasswd.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c yp_tconf.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c nsw_tpasswd.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c nsw_tconf.c
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c nsswitch.c
rm -f libsrp.a
ar cru libsrp.a t_client.o t_conf.o t_conv.o t_getpass.o t_sha.o t_math.o t_misc.o t_pw.o
t_read.o t_server.o t_truerand.o cstr.o srp.o rfc2945_client.o rfc2945_server.o
srp6_client.o srp6_server.o yp_misc.o yp_tpasswd.o yp_tconf.o nsw_tpasswd.o nsw_tconf.o
nsswitch.o
ranlib libsrp.a
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c tconf.c
tconf.c:在函数'main'中:
tconf.c:188:警告:忽略“fgets”的返回值,用属性 warn_unused_result 声明
tconf.c:202:警告:忽略“fgets”的返回值,用属性 warn_unused_result 声明
tconf.c:230:警告:忽略“fgets”的返回值,用属性 warn_unused_result 声明
tconf.c:263:警告:忽略“fgets”的返回值,用属性 warn_unused_result 声明
gcc -fPIC -O -o tconf tconf.o libsrp.a -lcrypto -ldl -lnsl
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c clitest.c
clitest.c:在函数'main'中:
clitest.c:51:警告:忽略“gets”的返回值,用属性 warn_unused_result 声明
clitest.c:53:警告:忽略“gets”的返回值,用属性 warn_unused_result 声明
clitest.c:57:警告:忽略“gets”的返回值,用属性 warn_unused_result 声明
clitest.c:61:警告:忽略'gets'的返回值,用属性warn_unused_result声明 clitest.c:74:警告:忽略'gets'的返回值,用属性warn_unused_result声明
clitest.c:79:警告:忽略'gets'的返回值,用属性warn_unused_result声明
gcc -fPIC -O -o clitest clitest.o libsrp.a -lcrypto -ldl -lnsl clitest.o:在函数“main”中:
clitest.c:(.text+0x56): 警告:“gets”函数很危险,不应使用。
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srvtest.c
srvtest.c:在函数'main'中:
srvtest.c:77:警告:忽略“gets”的返回值,用属性 warn_unused_result 声明
srvtest.c:103:警告:忽略“gets”的返回值,用属性 warn_unused_result 声明
srvtest.c:109:警告:忽略'gets'的返回值,用属性warn_unused_result声明 srvtest.c:118:警告:忽略'gets'的返回值,用属性warn_unused_result声明
gcc -fPIC -O -o srvtest srvtest.o libsrp.a -lcrypto -ldl -lnsl
srvtest.o:在函数“main”中:
srvtest.c:(.text+0x15a): 警告:“gets”函数很危险,不应使用。
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c getpwtest.c
gcc -fPIC -O -o getpwtest getpwtest.o libsrp.a -lcrypto -ldl -lnsl
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srptest.c
gcc -fPIC -O -o srptest srptest.o libsrp.a -lcrypto -ldl -lnsl
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srpbench.c
gcc -fPIC -O -o srpbench srpbench.o libsrp.a -lcrypto -ldl -lnsl
gcc -DHAVE_CONFIG_H -I。-我。-我。-fPIC -O -c srp6bench.c
srp6bench.c:在函数“do_srp6preparam”中:
srp6bench.c:197:警告:内置函数'exit'的隐式声明不兼容</p>
srp6bench.c:在函数“用法”中:
srp6bench.c:214:警告:内置函数'exit'的隐式声明不兼容</p>
srp6bench.c:在函数'main'中:
srp6bench.c:246:警告:内置函数'exit'的隐式声明不兼容</p>
gcc -fPIC -O -o srp6bench srp6bench.o libsrp.a -lcrypto -ldl -lnsl `
-
-
请尽快告诉我问题出在哪里
谢谢
嗨,robsn,感谢您的回答。
好的,在使用 make 编译 libsrp 后,它将创建 libsrp.a。请告诉我,我可以将此 libsrp.a 用作共享库吗?如何使用?我想通过使用 dllimport 在 ubuntu 下的 ac# 文件中使用 libsrp。`