lib

error while loading shared libraries: xxx.so.x"错误的原因和解决办法

ぃ、小莉子 提交于 2019-12-02 15:43:43
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 另外一个原因就是已经安装了该共享库, 但 执行需要调用该共享库的程序 的时候, 程序按照默认共享库路径找不到该共享库文件. 所以安装共享库后要注意共享库路径设置问题, 如下: 1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令 ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表. 2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它

"error while loading shared libraries: xxx.so.x" 错

拜拜、爱过 提交于 2019-12-02 15:43:30
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory 原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 另外一个原因就是已经安装了该共享库, 但 执行需要调用该共享库的程序 的时候, 程序按照默认共享库路径找不到该共享库文件. 所以安装共享库后要注意共享库路径设置问题, 如下: 1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令 ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表. 2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它

JVM 启动参数配置DEMO

廉价感情. 提交于 2019-12-02 15:18:31
/usr/lib/jvm/jdk1.8.0_131/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/app/nacos/logs/java_heapdump.hprof -XX:-UseLargePages -Djava.ext.dirs=/usr/lib/jvm/jdk1.8.0_131/jre/lib/ext:/usr/lib/jvm/jdk1.8.0_131/lib/ext:/home/admin/app/nacos/plugins/cmdb:/home/admin/app/nacos/plugins/mysql -Xloggc:/home/admin/app/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX

warning C4273: ****.dll链接不一致

不羁的心 提交于 2019-12-02 15:03:57
方法1: 选择项目->属性->预处理器->预处理定义, 增加:HYCOMMONWINAPI_EXPORTS 方法2: 就是在 #ifdef HYCOMMONWINAPI_EXPORTS #define HYCOMMONWINAPI_API __declspec(dllexport) #else #define HYCOMMONWINAPI_API __declspec(dllimport) #endif 前面增加 #define HYCOMMONWINAPI_EXPORTS 其实这两种方法都是增加定义 方法3:在你的dll cpp文件中把 #define HYCOMMONWINAPI_EXPORTS 加在#include <接口文件.h> 的前面 方法4:右击dll工程 -- 属性,打开属性页,展开:配置属性 -- C++ --预处理器,在预处理器定义的最后面填入:_AFXEXT,再次编译则搞掂。 以上方法逐一试下,不知道能不能帮到你。另外这种问题最好去CSDN社区去问比较好,百度上牛X的人比较少,我就经常去CSDN。 非常郁闷的是,这个问题在relaese dll时又会出现,而且,上面的第4种解决方式没有作用,其它的几种方式暂时不甚了解到底怎么操作,因为第3种方法按它的做,出错 ---------------------------------------------------

Java安装和环境配置

拟墨画扇 提交于 2019-12-02 15:03:00
Java安装和环境配置 从事Java开发第一关就是安装JAVA环境. 我们要安装JDK, 全称Java开发全套. 其中包含了JRE(运行时环境), 如果你打游戏的时候可能会提示你缺少JRE. 我们要做开发, 一定要安装JDK, 请到 甲谷文 下载安装包. 下载 下载最新的 JDK9 , Java9提供了新的特征 . Java兼容性特强, 所以安装最新的.你也可以下载: JDK8 tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz sudo mv jdk-9.0.1 /app 以前Java8 lib目录下有: dt.jar是关于运行环境的类库,主要是swing的包 tools.jar是关于一些工具的类库 Java9里面已经没有了. 环境配置 Ubuntu系统 这是Ubuntu环境下的配置, 请首先卸载掉自带的OpenJDK: sudo apt remove java-common Java8 vim /etc/profile.d/myenv.sh export JAVA_HOME=/app/jdk1.8.0_91 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

Odoo快速部署 附Odoo的Docker启动脚本

隐身守侯 提交于 2019-12-02 14:33:46
Odoo快速部署 附Odoo的Docker启动脚本 前置条件 请先安装好docker和dokcer-compose docker-compose.yml version: '2' services: web: image: odoo:12.0 depends_on: - db ports: - "8069:8069" volumes: - odoo-web-data:/var/lib/odoo - ./config:/etc/odoo - ./addons:/mnt/extra-addons db: image: postgres:10 environment: - POSTGRES_PASSWORD=odoo - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata volumes: odoo-web-data: odoo-db-data: 据说这个配置报错,给出一个其他博客上说修正了的docker-compose.yml配置文件 version: '3' services: web: image: odoo:12.0 depends_on: - db ports: - "8069:8069"

QT(20)-数据库-mysql-驱动-mingw-vs-libmysql.a-libmysql.dll

久未见 提交于 2019-12-02 14:30:42
假设你已经正确安装了Qt和MySQL 1.编译器是msvc libmysql.dll libmysql.lib ../MySQL/MySQL Server 5.7/lib/libmysql.dll复制到文件夹../Qt5.5.0/5.5/msvc2013_64/bin中, ../MySQL/MySQL Server 5.7/lib/libmysql.lib复制到文件夹../Qt5.5.0/5.5/msvc2013_64/lib中。 2. 在 windows 的 mingw 平台 需要的是 libmysql.a 官方 mysql 的 win 发行版是由 vc 编译,产生的 lib 无法被 mingw 链接。链接时会抛出未定义错。把 dll lib 编译为 .a 文件的方法: dlltool 工具是 mingw 自带。 2.1. 到 lib 目录下 2.2 执行命令 dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmysql.a -k 2.3. 生成文件 libmysql.a 来源: https://blog.csdn.net/aggie4628/article/details/102769914

C# - *.dll vs *.lib (动态链接库 vs 静态链接库)

点点圈 提交于 2019-12-02 12:34:53
静态库 库(Library)就是一段 编译好的二进制代码 ,加上头文件就可以使用。 静态链接库(Windows 下的*.lib, Linux & Mac 下的 .a)。之所以叫做静态,是因为静态库在 编译 的时候会被直接拷贝一份,复制到目标程序里,这段代码在目标程序里就不会再改变了。 优点: 1、编译完成之后,库文件实际上就没有作用了。目标程序没有外部依赖,直接就可以运行。 2、代码装载速度快,执行速度略比动态链接库快。 缺点: 1、会使用目标程序的体积增大。 2、包含相同的公共代码,造成浪费,扩展性较差。 动态库 动态链接库(Windows 下的*.dll, Linux & Mac 下的 .dylib)。与静态库相反,动态库在编译时并不会被拷贝到目标程序中,目标程序中只会存储指向动态库的引用。等到程序运行时,动态库才会被真正加载进来。 优点: 1、不需要拷贝到目标程序中,不会影响目标程序的体积,而且同一份库可以被多个程序使用(因为这个原因,动态库也被称作共享库)。同时,编译时才载入的特性,也可以让我们随时对库进行替换,而不需要重新编译代码。 2、更加节省内存并减少页面交换。 3、可维护性和可扩展性高。 4、适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。 缺点: 1、动态载入会带来一部分性能损失,使用动态库也会使得程序依赖于外部环境。

库文件

拥有回忆 提交于 2019-12-02 11:31:43
1、应用程序 应用程序通常存放在系统为之保存的特定目录中。系统为正常使用提供的程序,包括用于程序的开发工具,都可在目录 /usr/bin 中找到。 2、头文件 用C语言及其他语言进行程序设计时,你需要用头文件来提供对常量的定义和对系统函数及库函数调用的声明。 位于 /usr/include 目录及其子目录中。 3、库文件 ·库是一种预先编译好的函数的集合,这些函数都是按照可重用的原则编写的。 ·标准的系统库文件一般存储在/lib或/usr/lib目录中。 ·库文件的名字总是以lib开头,类型有: · .a代表传统的静态函数库; · .so代表共享函数库 静态库 先将.c文件编译成.o 打包做出库 ar crv lib**.a *.o(所有的.o问件) ar crv llibmyfoo.a add.o max.o gcc -o main main.c -L. -lmyfoo 共享库 先将.c文件编译成.o 生成共享库 gcc -shared -fPIC -o libmyfoo.so *.o (所有的.o文件) 使用库 main.c | gcc -o main main.c -L路径 -l库名 来源: https://blog.csdn.net/weixin_42441020/article/details/102756501

静态链接库、动态链接库

我的梦境 提交于 2019-12-02 10:50:07
1.代码的重用 一般在程序中,代码重用可以用函数来实现; 给其它程序重用代码的实现有两种方式: 1】静态链接库 2】动态链接库 也就是可以用来实现模块化; 1.静态链接库 1)创建静态链接库 vc6中创建:File ->new ->Projects ->Win32 Static Library 头文件: #if !defined(AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_) #define AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 int Plus(int x, int y); int Sub(int x, int y); int Mul(int x, int y); int Div(int x, int y); #endif // !defined(AFX_HELLO_H__0A93BBBF_3714_47C0_A953_6BC530AAD15A__INCLUDED_) cpp文件: #include "Hello.h" int Plus(int x, int y) { return x+y; }   int