https-client.c:259:2: warning: no newline at end of file
/usr/bin/ld: skipping incompatible ../toolkit/openssl/libssl.a when searching for -lssl
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
[root@localhost src]# gcc -Wall -g -o httpsclient https-client.c -I../toolkit/openssl/include -static -L../toolkit/openssl -lssl -lcrypto -ldl
https-client.c:259:2: warning: no newline at end of file
/usr/bin/ld: skipping incompatible ../toolkit/openssl/libssl.a when searching for -lssl
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
[root@localhost src]# gcc -Wall -g -o httpsclient https-client.c -I../toolkit/openssl/include -static -L. -lssl -lcrypto -ldl
https-client.c:259:2: warning: no newline at end of file
/usr/bin/ld: skipping incompatible ./libssl.a when searching for -lssl
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
[root@localhost src]# gcc -Wall -g -o httpsclient https-client.c -I../toolkit/openssl/include -L. -lssl -lcrypto -ldl
https-client.c:259:2: warning: no newline at end of file
/usr/bin/ld: skipping incompatible ./libssl.a when searching for -lssl
/usr/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
可以用全路径是能找到libssl.a的 可是用-L -l这种方式应该是可以的 之前放在openssl找不到 又放到程序目录也找不到 不明白这样为什么找到静态库 请指教...
8 个解决方案
#1
目测你的.a根本不是在这个机器上编译的,不兼容。
#2
不是啊 make install的openssl 写全路径是可以用的 就是-L -l 这样的方式不行 不知道是编译器还是环境的问题
#3
是不是连接器配置文件的问题找不到 虽然问题是解决了(可以用写全路径解决)但是还是想知道是什么原因
#4
找到一篇http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1786166
可能就是这个原因
可能就是这个原因
#5
你的-L路径下有ssl的库?
#6
安装静态库了吗?
fedora下是 yum install openssl-static
fedora下是 yum install openssl-static
#7
ldconfig
#8
ldconfig 可以配置这个
#1
目测你的.a根本不是在这个机器上编译的,不兼容。
#2
不是啊 make install的openssl 写全路径是可以用的 就是-L -l 这样的方式不行 不知道是编译器还是环境的问题
#3
是不是连接器配置文件的问题找不到 虽然问题是解决了(可以用写全路径解决)但是还是想知道是什么原因
#4
找到一篇http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1786166
可能就是这个原因
可能就是这个原因
#5
你的-L路径下有ssl的库?
#6
安装静态库了吗?
fedora下是 yum install openssl-static
fedora下是 yum install openssl-static
#7
ldconfig
#8
ldconfig 可以配置这个