lib文件

Linux中PHP如何安装curl扩展方法

倾然丶 夕夏残阳落幕 提交于 2020-02-29 19:22:38
如果php已经在系统编译好,后来又需要添加新的扩展。 一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。 下面以安装curl扩展为例: 1、下载curl安装包。(我的php是4.4.4的,下载最新的curl 7.16 不能使用,最后下载7.14的才可以,所以要注意一下版本问题) ./configure make php 要求curl的目录要有include和lib目录,并且include下要有easy.h 和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目 录下,所以要copy到lib目录。 2、进入安装原php的源码目录, cd ext cd curl phpize ./configure --with-curl=DIR make 就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。 3、复制curl.so文件到extensions的配置目录,修改php.ini就好。 来源: https://www.cnblogs.com/phpxuetang/p/5114070.html

LINUX总结第13篇:LINUX下动态库及版本号控制

亡梦爱人 提交于 2020-02-29 16:32:54
前言 针对同一动态组件的不同版本链接和加载。 一、概念 DLL HELL字面意思是DLL"灾难",是由于com组件(动态库)升级引起的程序不能运行的情况。 原因 有三种可能的原因导致了DLL Hell的发生: 一是由使用旧版本的DLL替代原来一个新版本的DLL而引起的。这个原因最普遍,是Windows 9X用户通常遇到的DLL错误之一。 二是由新版DLL中的函数无意发生改变而引起。尽管在设计DLL时候应该向下兼容,然而要保证DLL完全向下兼容却是不能的。 三是由新版DLL的安装引入一个新的Bug。 二、linux下的解决方案——命名规范 Linux 上的Dll ,叫sharedlibrary。Linux 系统面临和Window一样的问题,如何控制动态库的多个版本问题。为解决这个问题,Linux 为解决这个问题,引入了一套命名机制,如果遵守这个机制来做,就可以避免这个问题。但是这只事一个约定,不是强制的。但是建议遵守这个约定,否则同样也会出现 Linux 版的Dll hell 问题。 Real Name 首先是共享库本身的文件名:共享库的命名必须如 libname.so.x.y.z最前面使用前缀”lib”,中间是库的名字和后缀”.so”,最后三个数字是版本号。x是主版本号(Major Version Number),y是次版本号(Minor Version Number)

ubuntu配置jdk,jre同样适用

拟墨画扇 提交于 2020-02-29 15:12:20
1、首先去官网 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载最新版的jdk。 看需要,如果只需要配置jre环境也可下载jre即可。(注:我下载的为“jdk-7u60-linux-i586.tar.gz”) 2、 然后将.tar.gz压缩包移动到指定的文件夹,我指定为 /usr/lib/jvm 下面,命令为 sudo mv jdk-7u60-linux-i586.tar.gz /usr/lib/jvm 。然后就是用 tar -xzvf jdk-7u60-linux-i586.tar.gz 来解压缩。 3、 解压好了之后就是环境变量的配置了,用 sudo gedit /etc/profile 来打开profile文件。 在文件末尾增加如下语句: #set java environment JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 export JRE_HOME=/usr/lib/jvm/jdk1.7.0_60/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 然后用 source /etc

史上最简单的Hibernate入门简介

霸气de小男生 提交于 2020-02-29 08:13:35
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。 在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。本文的目的是演示一下Hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再低的入门门槛。 下载文件 你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。 1、Hibernate包下载地址: http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc 2、Ant包下载地址: http://apache.130th.net/ant/binaries/apache-ant-1.6.1-bin.zip 3、JDBC Driver要根据你用的database来定,一般database官方网站上都会有。Hibernate支持常用的database,比如 MySQL, Oracle,

在visual studio 2013中编译Lua5.3.1

不羁的心 提交于 2020-02-29 05:53:57
注:以下是基于 别人的教程或笔记来操作并按照自己的操作记录的纯文字版编译和hello lua过程。 原图文版链接: 原文链接 1.创建空的解决方案: 文件->新建->项目->其他项目类型->Visual Studio解决方案->空白解决方案 名称:lua53 位置:.. 接下来在这个解决方案中创建3个项目:分别为Luz_lib、Lua和Luac Lua和Luac项目中会生成最终我们需要的执行文件。Lua_lib会生成静态库文件, Lua和Luac项目的编译需要这个库文件。所以我们需要先编译Lua_lib项目,生成需要的库文件。 2.创建lib静态库: a.在lua53解决方案上点击右键->添加->新建项目->Visual C++ ->空项目 名称:Lua_lib 位置:... b.在Lua_lib项目上点击右键->添加->现有项(或已存在项), 打开lua解压目录,找到src文件夹,选中全部文件,然后排除lua.c和 luac.c两个文件,将其他文件全部添加到项目中区。 (PS:Lua_lib项目中生成我们需要的库文件,而lua.c和luac.c分别是Lua项目 和Luac项目中要用到的。 c.编译Lua_lib项目,首先需要修改项目配置,在Lua_lib项目上点击右键->属性->配置属性->常规 ->配置类型 选择静态库(.lib) ,然后再选中项目,点击主菜单栏中的测试->调试

lib 和 dll 的区别、生成以及使用详解

倾然丶 夕夏残阳落幕 提交于 2020-02-28 21:16:50
【目录】 lib dll介绍 生成动态库 调用动态库 生成静态库 调用静态库 首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。 静态库 : 在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的 可执行文件 中,这种库称为静态库,其特点是 可执行文件 中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。即静态库 中的指令都全部被直接包含在最终生成的 EXE 文件 中了。 在vs中新建生成静态库的工程,编译生成成功后,只产生一个.lib文件 动态库 :动态链接库 是一个包含可由多个 程序 同时使用的 代码 和数据的库,DLL不是 可执行文件 。 动态链接 提供了一种方法,使进程可以调用不属于其 可执行代码 的函数。函数的 可执行代码 位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分 开存储的函数。 在vs中新建生成动态库的工程,编译成功后,产生一个.lib文件和一个.dll文件 那么上述静态库和动态库中的lib有什么区别呢? 静态库中的lib :该 LIB包含函数代码本身(即包括函数的索引,也包括实现),在编译时直接将代码加入程序当中 动态库中的lib :该 LIB包含了函数所在的DLL文件和文件中函数位置的信息(索引),函数实现代码由运行时加载在进程空间中的DLL提供 总之

部署基于python的web发布环境(第二篇):环境部署3:centos7.5安装python,安装使用virtualenv

杀马特。学长 韩版系。学妹 提交于 2020-02-28 20:25:59
一、下载python [root@web src]# pwd /usr/src ​ [root@web src]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz    二、安装依赖 [root@web src]# yum -y install gcc-* openssl-* sqlite-devel libffi-devel    三、开始安装 [root@web src]# pwd /usr/src [root@web src]# ls cmake-3.6.0-rc1 kernels nginx-1.15.5 debug mysql-5.7.29 Python-3.7.1.tar.xz [root@web src]# tar xf Python-3.7.1.tar.xz #开始配置 [root@web src]# cd Python-3.7.1 [root@web Python-3.7.1]# ls aclocal.m4 Doc m4 Parser README.rst CODE_OF_CONDUCT.rst Grammar Mac PC setup.py config.guess Include Makefile.pre.in PCbuild Tools config.sub install

ubuntu18.04 | NVIDIA driver + CUDA-10.2 + cuDNN-7.6.5 + Pytorch + TensorFlow-gpu-2.1.0 + OpenCV-4.2.

我怕爱的太早我们不能终老 提交于 2020-02-28 17:45:06
一. NVIDIA显卡驱动 参考: https://www.cnblogs.com/abelsu/p/10625616.html 1. 安装前准备 (1). 检查是否有卡 一般购入电脑时就能有所了解,并且带有该显卡的电脑,都会有NVIDIA的绿色标识贴在机身上,只需要进一步确认就可以: $ lspci | grep -i nvidia 如果输出有带NVIDIA字符就可以了。 (2). 关闭Security Boot 重启电脑,在开机过程中连续敲击某个键进入BOIS设置,我的是F2,有的电脑是F6,F12等,不确定的可以根据电脑情况查一下。 选择Security Boot一栏,回车将Enable改为Disable。 2. 安装NVIDIA显卡驱动 (1). 禁用nouveau 可以先检查一下是否禁用,我的在安装系统时就一并禁用了: $ lsmod | grep nouveau 没有输出则证明被禁用了。 如果有输出,则执行: $ sudo gedit /etc/modprobe.d/blacklist.conf 在文末添加:blacklist nouveau,保存关闭后执行: $ sudo update-initramfs -u 重启电脑再执行: $ lsmod | grep nouveau (2). 把显卡驱动加入PPA: 卸载系统里的低版本驱动: $ sudo apt-get

IDEA开发spark本地运行

隐身守侯 提交于 2020-02-28 10:48:08
1.建立spakTesk项目,建立scala对象Test 2.Tesk对象的代码如下 package sparkTest /** * Created by jiahong on 15-8-2. */ import org.apache.spark.{SparkConf,SparkContext} object Test { def main(args: Array[String]) { if (args.length < 1) { System.err.println("Usage: <file>") System.exit(1) } val conf=new SparkConf().setAppName("Test").setMaster("local") val sc=new SparkContext(conf) val rdd=sc.textFile("/home/jiahong/sparkWorkSpace/input") //统计单词个数,然后按个数从高到低排序 val result=rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).map(x=>(x._2,x._1)).sortByKey(false).map(x=>(x._2,x._1)) result.saveAsTextFile("/home

NDK SO 库开发与使用中的 ABI 构架选择

喜欢而已 提交于 2020-02-28 00:34:08
Bugtags V1.2.7 引入了 NDK SO 库,在集成的时候,遇到不同的 SO 库打包到 APK 时,安装在某些机器上,出现 java.lang.UnsatisfiedLinkError 加载失败。 为此,深究了一下原理,和给出了解决方案。 原理 Android 系统本质是一个经过改造的 Linux 系统。最早,Android 系统只支持 ARMv5 的 CPU 构架,随着 Android 系统的发展,又加入了 ARMv7 (2010), x86 (2011), MIPS (2012), ARMv8, MIPS64 和 x86_64 (2014)。 每一种 CPU 构架,都定义了一种 ABI(Application Binary Interface),ABI 决定了二进制文件如何与系统进行交互。 一般情况下,你不需要关注这些。当你的 APP 中用到了些包含 SO 库第三方库,或者自己使用 NDK 来实现了某些功能,你就需要认真阅读接下来的教程。 NDK SO 支持不同的 CPU 构架 在使用 NDK 开发包含 c/c++ 代码的 SO 库的时候,你可以选择输出支持如下 ABI CPU 构架: armeabi armeabi­v7a arm64­v8a x86 x86_64 mips mips64 Bugtags 的 NDK 库支持如上所有的 CPU 构架: