㈠ Centosphp扩展方式安装gd库的方法
网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。
首先说明,我的PHP是源码编译安装的,可以参看 以源码编译的方式安装PHP与php-fpm。
先安装 gd 前置库 : freetype ,jpegsrc,libpng。
1. freetype
复制代码代码如下:2. jpegsrc
复制代码代码如下:3. libpng
复制代码代码如下:接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。
复制代码代码如下:然后再这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。
复制代码代码如下:现在可以进行单独编译安装了:
复制代码代码如下:接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so
重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。
复制代码代码如下:console列出:
复制代码代码如下:看到gd了,说明gd库安装成功。
接下来只要重启 php-fpm 即可:
复制代码代码如下:phpinfo()一下,看看。
OK,安装成功。
㈡ 如何一键修复jansson.dll丢失_jansson.dll丢失损坏怎么办
Jansson.dll是一个免费且开源的C库,用于处理JSON数据,包括解析、创建和操作。它是动态链接库,适用于Windows操作系统上的应用程序。此库支持多种编程语言,如C、C++、Python和Ruby,广泛应用于Web开发、数据交换和配置文件等领域。
修复丢失的jansson.dll文件可以采用两种方式。第一种是手动下载修复,但这种方法繁琐且复杂,不推荐使用。第二种是使用一键智能修复DLL助手工具,这种方法更为简便。
首先,需要下载并安装一键智能修复DLL助手工具。安装完成后,打开工具并选择“扫描错误”选项卡。接下来,让工具自动检测系统错误,找到“找不到jansson.dll”这个错误并选中它。最后,点击“修复错误”按钮,工具将自动下载并安装jansson.dll文件。这个过程可能需要一定时间,具体取决于网络速度。
如果上述方法无效,可以尝试将jansson.dll文件直接下载到桌面。然后,将文件放置在提示丢失文件的程序目录中。这种方法操作简便,实用性较强,且免费使用无广告干扰。
总之,jansson.dll是许多应用程序正常运行所必需的组件。正确修复丢失的jansson.dll文件,可以确保应用程序的稳定性和性能。
㈢ Unity/C++混合编程全攻略——Swig篇
本文将介绍如何使用Swig进行Unity与C++的混合编程,以提高效率与可行性。Swig是一个开源且跨平台工具,可自动生成多种语言与C++交互的接口,包括C#、Java、Python、Ruby等。
首先,建立一个VS2017 win32项目,放入Test.h与Test.cpp,编写简单的Add函数。尽管现代编译器支持#pragma once,但在旧编译器中它可能导致问题,因此使用ifndef进行替换。
下载Swig并将其放置在项目目录的ThirdPart文件夹下。创建.i文件并编写模板代码。通过属性设置Swig为自定义生成工具,配置命令行以调用Swig生成C#接口及cxx文件。将生成的文件包含到项目中并进行编译。
在Unity工程中创建SwigTools/Interface目录存放C#接口,Plugins目录存放第三方库。重新打包C++工程,生成dll与C#接口文件。在Unity场景中使用C++库并编写代码。调用成功,无需编写DllImport。
Swig常用语法包括%mole、%include、%{%}、使用C++/STL、使用指针、使用数组、typemap等。生成的代码分为C++的cxx文件与C#接口文件,C++代码定义函数为纯函数,C#接口包含导入函数、导出类型及异常处理。
在C#中,接口通常以纯函数形式呈现,提供导入函数、导出类型及自定义类型。Swig处理字符串操作生成回调,并提供IDisposable接口进行内存管理。C++申请的内存由使用者决定释放,C#申请的内存通过垃圾回收释放。
本文总结了Swig的基本使用方法,提供了关键操作与常见技巧。下一篇文章将探讨跨平台编程的挑战与解决方案,使用CMake进行编译,并可能转换至Mac平台进行讨论。如有不完善之处,欢迎指正。