⑴ linux下如何编译安装openssl模块请高手详细解答一下。。。。。。。。。。【】【】
1$ tar zxvf openssl-0.9.8k.tar.gz -C /opt/
2$ ./config --prefix=/usr/local/ssl-0.9.8lk shared zlib-dynamic enable-camellia --prefix=/usr/local/ssl-0.9.8lk
3$ ./config -t
4$ make depend
5$ make
6$ make test
7$ make install
/********************************************************************/
附加: 为了ssl
a:$ /usr/local/ssl-0.9.8lk/ssl
b:$ vi openssl.cnf
default_bits = 1024
改 default_bits = 8192//为了安全最好改为4096以上的数据
c:$ countryName = Country Name (2 letter code)
改 countryName = CN //只能使用2字母的国家代码
d:$ countryName_default = AU
改countryName_default = Beijing
= Beijing //省份或直辖市名称
/**********************************************************************/
8$ a)cd /usr/local
b)ln -s ssl-0.9.8lk ssl
9$ a)cd /etc/ld.so.conf.d
b)cp -r /usr/local/ssl-0.9.8lk/lib/ ./
10$ cd /etc
vi ld.so.conf
加入:/usr/local/ssl-0.9.8lk/lib
11$ cd /usr/local/ssl-0.9.8lk/lib
ldconfig
12$ vi /root/.bash_profile
另外一个终端:echo $PATH 把PATH显示路径加入到.bash_profile里
例如: PATH=$PATH:/usr/local/ssl-0.9.8lk/bin$HOME/bin
13$ source ~/.bash_profile
14$ cd /usr/local/
15$ ldd /usr/local/ssl-0.9.8lk/bin/openssl
16$ which openssl
17$ openssl version
⑵ 在安装openssl时,编译动态链接库的时候,出现了以下错误,求大神帮忙解决!!!
编译OpenSSL不要在CMD下面编译,应该尽量在Visual Studio自带的32或64位命令行编译环境中编译,要不然会报各种错误。
⑶ linux 编译怎么连接动态库
Linux的动态库文件是以lib字样开头的.so文件,编译链接动态库有两个要点:一个是需要用-L选项指定动态库的搜索路径,这个搜索路径是需要连接的so文件的大致路径,比如/usr/openssl/lib;另外还需要用-l(这个是小写的L)选项指定动态库的名字,比如下面这条编译命令:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
⑷ linux下编译android版本的openssl动态库带有dwarf调试信息,求教怎么编译不带dwarf调试信息的动态库
编译的时候是不能调试的哦,调试只能在编译好之后,VC中默认DEBUG模式,在编译时加入调试信息,然后按下F5即可进行调试,F9下断点,F10单步跳过, F11单步跟入...SHIFT F5停止调试。。
⑸ Linux下编译安装openssl1.0.1d时遇到问题怎么办
1、读一下INSTALL文档x0dx0a2、make clean清理坦清厅一下x0dx0a3、重让隐新来一次x0dx0a./config --prefix=/usr/local --openssldir=/usr/正喊local/opensslx0dx0amake;make test;make install
⑹ linux中编译时怎么连接动态库
Linux系统中静态库是.a文件,编译链接.a文件只需要加上.a文件的完整路径就可以了,比如:
gcc -o hello hello.c /usr/lib/libm.a
Linux系统的动态库是.so文件,编译链接动态库需要用-L参数指定动态库的搜索路径,还要用-l(这个是小写的L)指定动态库的名字,比如:
gcc -o hello hello.c -L/usr/openssl/lib -lcrypto
⑺ openssl怎么编译成动态库
1、静态编译
./Configure linux-elf-arm -DB_ENDIAN linux:'armeb-linux-gcc -mbig-endian' --prefix=$(pwd)/OpenSSL
a、 将openssl-0.9.8d/crypto/bio/bss_file.c中以下代码注释掉
//#ifndef _FILE_OFFSET_BITS
//#define _FILE_OFFSET_BITS 64
//#endif
#endif
b、 报错没有timeb.h时,在报错的.c文件中#undef TIMEB
c、 去掉openssl顶层Makefile中“build_all:”后面的 build_app build_test (我们要的只是两个静态库libcrypto.a和libssl.a),并去掉”DIRS=”后面的app和tests。
make && make install
2、动态库
1.config:
#config no-asm --prefix=../OpenSSL
2.改Makefile
1) CC= gcc 改成 CC = armeb-linux-gcc;
2) 删除 CFLAG= 中的 “-march=pentium”;
3) AR=ar $(ARFLAGS) r 改为 AR=armeb-linux-ar $(ARFLAGS) r;
4) ARD=ar $(ARFLAGS) d 改为 ARD=armeb-linux-ar $(ARFLAGS) d;
5)RANLIB= /usr/bin/ranlib 改为 RANLIB= armeb-linux-ranlib;
3.编译
#make
#make install
⑻ Linux下的静态库和动态库
静态库
可以把它想象成是一些代码的集合,在可执行程序运行前就已经加到了代码中,成为了执行程序的一部分,一般是以.a为后缀的文件名,Windows下后缀为.lib。静态库的命名也分为三部分,1、前缀:lib,2、库的名称:随意,如lisi,3、后缀:.a。
静态库优缺点
上面简单介绍了静态库,那它自然也会有优缺点,这里来介绍下它的优缺点。
优点:1、在最后,函数库是被打包到应用程序中的,实现函数本地化、寻址方便、高效。2、程序在运行的时候,与函数库没有关系,移植性更强。
缺点:1、消耗资源较大,每个进程在使用静态库的时候,都要复制一份才可以,这也就造成了内存的消耗。2、在程序更新、部署、发布的时候,使用静态库相对麻烦,如果一个静态库更新了,那它的应用程序都需要重新编译,再发送给用户,有的时候可能只是一个小的改动,但对于用户来说,会导致整个程序重新下载。
动态库
在程序编译时不会被连接到目标代码中,在后期运行时才会载入,不同的应用程序如果调用相同的库,内存中只有一份共享库的拷贝,也就避免了空间的浪费问题。一般以.so作为文件后缀名,也分为三部分:1、前缀:lib,2、库名称:自定义,3、后缀:.so
动态库优缺点
优点:1、节省内存2、部署、升级相对方便,只需要更换动态库,再重新启动服务即可。
缺点:1、加载速度比静态库慢2、移植性较差,需要把所有用到的动态库进行移植。