lib

龙芯8089D-Debian7 下搭建 Objective-C 编译环境

℡╲_俬逩灬. 提交于 2020-02-28 21:16:20
龙芯8089D-Debian7 下搭建 Objective-C 编译环境 目录 安装相关文件 编译参数说明 简化命令行参数 实际编译实例 简单说明:Objective-C 的 C 文件后缀为 .m ,头文件后缀为 .h ,例如我们在本教程中的例程就是 main.m 。 安装相关文件 需要安装这些包: gcc 、 g++ 、 gobjc 、 gnustep 、 gnustep-devel 、 gnustep-gui-dev 、 libgnustep-base-dev 。 安装命令很简单: apt-get install gcc g++ gobjc gnustep gnustep-devel gnustep-gui-dev libgnustep-base-dev 安装完毕之后就可以进行下一步了。 编译参数说明 不同发行版的 Linux 下编译 Objective-C 的命令参数略有不同,在 Debian 下需要这几个参数: `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base 另外需要指定头文件(include文件)和库文件(lib文件)的位置,在 Debian 下,它们的位置分别为 /usr/include/GNUstep/ 和 /usr/lib

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 构架:

error while loading shared libraries: xxx.so.x

断了今生、忘了曾经 提交于 2020-02-27 21:50:55
网上有很多介绍出现这种问题的,一般来说都是在安装库之后还提示加载动态共享库的问题! 一般我们在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)

C++通过engine引擎调用matlab

心已入冬 提交于 2020-02-27 18:21:44
一、Matlab准备 1、打开matlab(2016a),设置工作目录(D:\MATLAB\R2016a\bin)。 2、将Matlab配置为C++编译方式,在命令行输入mex -setup,显示: 3、选择 mex -setup C++ ,显示: 4.则说明初步完成。 二、Matlab引擎手动测试 1、关闭Matlab主程序,打开命令提示符(管理员)。 2、将目录转到Matlab主程序的目录下,输入Matlab /regserver。 3、数秒之后显示出Matlab Command Window,并显示: 4、手动测试完成,Matlab引擎可以使用。 三、C++项目设置 1、创建C++空项目(VS2015)。 2、设置项目属性: 平台:X64 配置属性>VC++目录>包含目录:增加 D: \MATLAB\R2016a\extern\include; 配置属性>VC++目录>库目录:增加 D:\MATLAB\R2016a\extern\lib\win64\microsoft; 配置属性>链接器>输入>附加依赖项:libeng.lib;libmx.lib;libmex.lib;mclmcrrt.lib; 运行测试代码: # include <iostream> # include <engine.h> using namespace std ; int main ( ) {

/etc/ld.so.conf详解

我怕爱的太早我们不能终老 提交于 2020-02-27 14:09:48
/etc/ld.so.conf详解   /etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径。 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,如果不 指定--prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加/usr/local/lib这个目录>。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错。也就是说系统不知道安装了源码包。 对于此种情况有2种解决办法: (1)在用源码安装时,用--prefix指定安装路径为/usr/lib。这样的话也就不用配置PKG_CONFIG_PATH (2) 直接将路径/usr/local/lib路径加入到文件/etc/ld.so.conf文件的中。在文件/etc/ld.so.conf中末尾直接添加:/usr/local/lib(这个方法给力!) ldconfig 再来看看ldconfig这个程序,位于/sbin下,它的作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新的搜索路径,需要运>行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld

如何完成Ubuntu16.04编译安装Nginx

不问归期 提交于 2020-02-26 22:04:29
NGINX可以用作http/https服务器、反向代理服务器、邮件代理服务器、负载平衡器、TLS终结者或缓存服务器。它的设计非常模块化。它有本地模块和由社区创建的第三方模块。它是用C语言编写的,它是一种非常快速和轻量级的软件。 注意:NGINX有两个版本流并行运行——稳定和主线。两个版本都可以在生产服务器上使用。建议在生产中使用主线版本。 从源代码中安装NGINX是相对“容易”的——下载最新版本的NGINX源代码,配置、构建和安装它。 在本教程中,我将使用主线版本,在撰写本文时是1.13.1。当更新版本可用时,更新版本号。 从源代码构建NGINX的需求 强制要求: OpenSSL库版本1.0.2-1.1.0 Zlib库版本1.1.3-1.2.11。 PCRE库版本在4.4-8.40之间 GCC编译器 可选的要求: PERL LIBATOMIC_OPS LibGD MaxMind GeoIP libxml2 libxslt 在你开始之前 1、使用sudo访问创建常规用户。 2、切换到新用户: su - <username> 3、系统更新: sudo apt update && sudo apt upgrade -y 从源代码构建NGINX 1、NGINX是一个用C编写的程序,所以我们需要安装C编译器(GCC)。 sudo apt install build-essential -y

pcl+vtk安装报错解决过程

这一生的挚爱 提交于 2020-02-25 21:55:54
安装pcl1.9和vtk8.2. 报错:runtime library [libpcl_surface.so] in /usr/lib may be hidden by files in:/usr/local/lib ... 尝试解决: 将/usr/local/lib下的libpcl_*全部复制到/usr/lib,删除/usr/local/lib下的libpcl_*.so cmakelists通过,编译运行通过。 尝试pcl/visualization报错:error: ‘class vtkSmartPointer<vtkDataArray>’ has no member named ‘Get’ 尝试解决:删除vtk,重新安装vtk7.11 来源: CSDN 作者: 千羽QY 链接: https://blog.csdn.net/qq_40081208/article/details/103447179

Ubuntu16.04 安装 JDK

ⅰ亾dé卋堺 提交于 2020-02-25 10:26:25
1.到Oracle官网下载   地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ,需要Oracle账户才能下载   我的百度盘:链接: https://pan.baidu.com/s/1tEq9YfEOmVB97f6ADeGkPw 提取码: 70pf    2.上传文件   将下载好的jdk 上传到 linux 服务器,可通过winScp   ① 创建目录 mkdir /usr/lib/jvm   ② 上传jdk到目录下 3.解压安装   安装最简单的方式当然是通过 apt-get 方式下载安装,但是源一般是OpenJDK,如果需要安装Oracle的JDK这种方法就不合适了   ① 切换到 /usr/lib/jvm   ② 解压文件:tar -zxvf jdk-8u161-linux-x64.tar.gz   ③ 修改jdk文件名为 jdk 4.配置JAVA环境变量   修改配置文件:vim /etc/profile [修改对每个用户都生效.修改后重启生效。但可以通过命令source /etc/profile立即生效]      #set java env export JAVA_HOME=/usr/lib/jvm/jdk export JRE_HOME=

静态库与动态库的创建与使用

泪湿孤枕 提交于 2020-02-25 08:06:25
静态库:Windows中为后缀为.lib的文件,Linux中为.a文件; 动态库:Windows中为后缀为.dll的文件,Linux中为.so文件; Windows中: 调用静态库:将静态库路径添加进来——依赖静态库(或者#pragma comment(lib,xx.lib))——包含头文件——,用户程序中则可直接调用静态库中的函数 调用动态库:分为1)静态调用,即隐式调用:将库路径和头文件路径添加进来——依赖静态库选项(或者#pragma comment(lib,xx.lib))——包含头文件——用户程序中则可直接调用动态库态库中的函数 (注意之所以成为隐式调用动态库,是因为它是根据生成动态库时同时产生的静态库.lib文件中的函数地址来调用动态库中的函数的) 2)动态调用:不需要任何操作,只需要直接使用loadlibray_getproaddress_freelibray api来手动直接调用动态库的API即可 来源: https://www.cnblogs.com/happyliuyi/p/5490229.html

Android深度探索(卷1):安装C/C++交叉编译环境

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-25 02:45:50
X86架构的CPU采用的是复杂指令集(Complex Instruction Set Computer,CICS),而ARM架构的CPU使用的是精简指令集(Reduced Instruction Set Computer,RISC)。由于这两种架构的CPU使用了不同的指令集,因此在X86架构上开发可运行在ARM架构上的程序就必须要使用交叉编译器。通常交叉编译器和相关工具包含的了很多可执行文件以及大量的共享库及头文件等资源。这些资源的集合称为交叉编译环境。 在Internet上可以找到集成好的交叉编译环境,Android NDK和Android源代码中也包含的交叉编译环境。当然,如果我们需要一个完全独立的交叉编译环境,可以下载集成好的交叉编译环境,也可以自己制作(比较复杂,建议读者下载集成好的交叉编译环境)。下面介绍一个CodeSourcery交叉编译环境,这个交叉编译环境直接下载安装就可以安装。 读者可通过如下的网站访问CodeSourcery下载页面。 http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ 上面的页面并未直接提供CodeSourcery的下载链接,读者可以点击“Download the GNU/Linux Release”链接