Linux运行可执行程序提示:No such file or directory

Linux运行可执行程序提示:No such file or directory
这种情况可能有以下2种情况(可能不全,欢迎补充): 1、程序位数和系统位数不匹配。比如程序是32位系统为64位。 2、程序找不到对应的加载器。 这种情况可以按以下情况检查处理: 1) 查看当前程序的解释器: 我们可以先比较下静态编译的程序和动态编译的程序的区别: 以下是静态编译的程序,执行命令:# readelf -l hello-static Elf file type is EXEC (Executable file) Entry point 0x8b28 There a...

C/C++ 程序混编(extern “C”的使用)

C/C++ 程序混编(extern “C”的使用)
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码(也可以方便C代码调用C++代码)。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。 不同的语言...

[dlib] 在MacOS上编译安装dlib

[dlib] 在MacOS上编译安装dlib
环境: OS:Mac 10.13.4 dlib:19.10 步骤: 1、安装依赖 dlib安装需要的依赖有openblas,opencv。可以直接使用brew安装。 $ brew install openblas $ brew install opencv Mac的X11 X11是执行Unix程序的图形窗口环境。Mac OS X本身的程序是Aqua界面的,但是为了能够兼容unix和linux移植过来的程序(Mac OS X由BSD-UNIX修改而来),比如MatLab,就需要x11窗口环境。 运行dlib需要X11,但Mac目前没...

[PHP]MacOS 自带php环境安装mcrypt扩展

[PHP]MacOS 自带php环境安装mcrypt扩展
具体步骤: 1、使用homebrew安装Mcrypt库,用于后面编译mcrypt的php扩展。 brew install mcrypt 2、查看当前php版本,从php官网下载对应版本的源码。 php -v 记住自己的版本号,从官网下载对应版本的源码。 3、解压源码,进入到mcrypt扩展目录并编译。 cd php7.1.7/ext/mcrypt phpsize //生成configure ./configure make 4、安装 编译后,生成的.so库文件会在mcrypt/modules...

composer 安装插件报错 Content-Length mismatch解决办法

composer 安装插件报错 Content-Length mismatch解决办法
composer update 出现如下错误: [Composer\Downloader\TransportException] Content-Length mismatch, received 28935 bytes out of the expected 1871484 require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--pre...

[PHP] MacOS 自带php环境安装imagick扩展&踩坑记录

[PHP] MacOS 自带php环境安装imagick扩展&踩坑记录
前言 最近学习yii2,在搭建环境后,发现在访问contact页面时报错,如下: “Either GD PHP extension with FreeType support or ImageMagick PHP extension..." 在网上查找资料发现时没有安装imagick扩展,安装过程中也踩过很多坑,现将安装过程和踩坑情况记录如下。 环境 OS Ver:OSX 10.13 php环境:OSX自带php环境(php7.17) 步骤 1、安装:ImageMagick: 下载:sudo curl -O ftp://ftp.imagem...

[GCC] -rpath 使用相对路径的方式指定动态库位置

[GCC] -rpath 使用相对路径的方式指定动态库位置
如果我们在编写程序中使用了动态库,在程序运行的时候程序会去系统的相关目录查找动态库,但是我们在移植到嵌入式单板或者把你刚写好的牛逼程序发给你的朋友的时候还要跟他说明用到了那个动态库或者把库发给他,他再部署到自己的系统目录,这样就略显繁琐,我们为什么不就直接把程序和动态库放在一个目录,自己指定动态库相对位置呢,这样把程序和库直接打包发送不就行了吗?这时候gcc中的 -Wl,-rpath就起...

linux环境下同时使用静态库、动态库编译程序

linux环境下同时使用静态库、动态库编译程序
因某些原因,有时会需要同时使用静态库及动态库编译代码,这时候我们就必须要了解些下面几个编译参数了。 编译参数 -Wl,-Bstatic -Wl,-Bdynamic -Wl,–as-needed 参数定义 -Wl,option Pass option as an option to the linker. If option contains commas, it is split into multiple options at the commas. You can use this syntax to pass an argument to the option. For example, -Wl,-Map,outpu...

[Motion] 移动检测开源代码Motion学习 — 配置和使用

[Motion] 移动检测开源代码Motion学习 — 配置和使用
Motion配置 1、设置默认配置文件。 使用默认的安装目录安装motion,相关配置文件会在/usr/local/etc/motion/目录,程序运行后,程序会先检测命令行有没有指定配置文件,没有则会去/usr/local/etc/motion/目录查找motion.conf配置文件,我们需要将motion-dist.conf文件复制一份为motion.conf。 sudo cp /usr/local/etc/motion/motion-dist.conf /usr/local/etc/motion/motion.conf 2、指定配置文件的路径。...