GVKun编程网logo

ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?(ubuntu low graphic)

14

如果您对ubuntu–如何将GraphicsMagick与应用程序捆绑在一起?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于ubuntu–如何将GraphicsMagick

如果您对ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?的详细内容,我们还将为您解答ubuntu low graphic的相关问题,并且为您提供关于android – 如何将Realm数据库文件与我的应用程序捆绑在一起以进行安装、bundle – 将JRE与应用程序捆绑在一起?、c# – 如何将本机DLL与托管应用程序捆绑在一起?、CentOS6 安装 GraphicsMagick的有价值信息。

本文目录一览:

ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?(ubuntu low graphic)

ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?(ubuntu low graphic)

我想将一个独立版本的GraphicsMagick gm二进制文件与一个应用程序捆绑在一起,这样我就不必在应该运行应用程序的服务器上构建和安装GraphicsMagick库.

细节

我正在创建一个构建系统,它可以生成一个包含整个node.js应用程序的tar-ball,包括所有二进制依赖项(在我们的例子中是节点二进制文件和GraphicsMagick库).然后它将其上传到服务器,提取并运行它.

我试图用预先编译的gm二进制文件发送它,但是正如预期的那样gm依赖于几个库,所以我在加载共享库时遇到像gm:error这样的错误:libGraphicsMagick.so.3:无法打开共享对象文件:没有相应的文件和目录.

我在本地运行OSX,我们的服务器运行Ubuntu.

解决方法

解决方案是从源代码构建GraphicsMagick并使用选项–disable-shared –disable-installed进行配置.这将生成一个静态可重定位的可执行文件,它只依赖于系统上已有的共享库.通过’make DESTDIR = / tmp / gminstalldir install’之类的东西安装到临时目录中进行打包.您还需要评估哪些库在目标操作系统上是标准可用的(因此可以依赖它们)并添加配置选项以禁用不确定可用的库,或者链接到库的静态版本所以它包含在’gm’二进制文件中.

另一个解决方案是获取库存’gm’二进制文件并创建一个shell脚本包装器,它设置某些环境变量(例如LD_LIBRARY_PATH),以便它仍然可以运行.这种方法会增加一些运行时开销,并需要一些试验/错误才能使其正常工作.

android – 如何将Realm数据库文件与我的应用程序捆绑在一起以进行安装

android – 如何将Realm数据库文件与我的应用程序捆绑在一起以进行安装

我有一个大约50k记录的数据集,我想放在Realm数据库中.我不确定如何在Realm中创建此数据库并将其与应用程序捆绑在一起,以便文件可以从设备的最开始(安装)驻留.

解决方法

您可以将Realm文件放在assets文件夹中,并在第一次打开应用程序时将其复制.这里有一个如何做到这一点的例子: https://github.com/realm/realm-java/blob/master/examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MigrationExampleActivity.java#L57

然后,您可以使用SharedPreferencs /另一个Realm或类似物来保存布尔值,以指示已复制Realm文件.

现在我们没有任何API在Android之外工作,但创建预填充数据库的一种方法是创建一个小应用程序,在模拟器上运行该应用程序,然后使用ADB来提取数据库:How to view my Realm file in the Realm Browser?

bundle – 将JRE与应用程序捆绑在一起?

bundle – 将JRE与应用程序捆绑在一起?

我一直在争论是否将JRE与我的应用程序捆绑在一起.我在下面列举了一些原因,为什么我认为它会有用,但我也犹豫不决,因为它使应用程序更大.

为什么我认为它会有用:

>现在,通过运行批处理文件来运行应用程序(嗯,批处理文件的快捷方式,它通过批处理文件运行).它只是调用java -jar XXX,它需要Java在路径中,但情况并非总是如此.
>我们是一个小团队,并没有完全在Java 7上运行(我们正在尝试调试一些奇怪的错误).如果用户使用Java 7,他们可能会遇到令人不快的软件体验 – 这对我们不利.打包特定版本的JRE确保我们对其进行了全面测试.
>我们支持32位和64位Windows平台.当用户下载软件时,他们选择32位或64位,但这是在询问他们使用的是哪个版本的Java.大多数用户不知道他们的64位平台上是否安装了32位java,即使他们的操作系统是64位,下载32位也会让人感到困惑.

有一些很好的理由为什么不打包它:

>如果Java中存在安全漏洞或者对JRE进行了其他重要更新,我们需要使用新的Java版本分发新版本的应用程序.我们通常每两周更新一次我们的应用程序,所以我现在不太关心这个.
>该应用程序现在将更大,因为它包含一个打包的JRE.

任何人都可以提供一些指导(根据这些要求)他们认为打包JRE是一个好主意吗?如果没有,那么只是希望java在路径中有什么替代方案(更重要的是,如果不是这样,我们的用户可能不知道如何添加它).

解决方法

> Java Web Start. JRE将走上正轨.
>有关版本控制,请参阅 Java Web Start – Runtime Versioning&特别是 Earlier Version.
> JWS可以在64位和16位之间划分资源. 32位JRE.

所以,“捆绑JRE的坏主意”.请改用web-start.

c# – 如何将本机DLL与托管应用程序捆绑在一起?

c# – 如何将本机DLL与托管应用程序捆绑在一起?

在.NET项目中,我有几个从本机DLL导入的函数.

目前,要将本机DLL添加到项目中,它们将被复制到C#项目的根目录,并且它们的属性Build action设置为copy to output directory.

是否有更好的工作流来捆绑本机DLL?

解决方法

一个选项,如果您需要单个exe部署,它特别有用,就是将DLL作为资源嵌入到清单中.这与通常用于创建“通用二进制文件”的方法类似,可以在单个文件的X86或X64平台上运行.在这种情况下,您将64位版本嵌入到32位版本中,并在需要时在运行时将其解压缩.您可以看到与 Sysinternals二进制文件一起使用.

在您的情况下,您将在托管可执行文件中嵌入本机二进制文件,然后在运行时将其作为IO流加载或提取它并从提取的路径引用它.在任何一种情况下,您都不必担心“丢失”资源,因为它是您项目的一部分.

如果您决定走这条路,那么已经多次提供了如何做到这一点的答案.这是一个这样的问题:
Embedding unmanaged dll into a managed C# dll

CentOS6 安装 GraphicsMagick

CentOS6 安装 GraphicsMagick

1. 安装相关依赖:

 yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel

2. 下载并解压到目录 /usr/local/

wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.29.tar.gz
tar -zxvf GraphicsMagick-1.3.29.tar.gz

3. 编译并安装

cd /usr/local/GraphicsMagick-1.3.29
./configure --prefix=/usr/local/GraphicsMagick-1.3.29
make
make install

4. 设置环境变量

vi /etc/profile

在文件的后边追加

GM_HOME=/usr/local/GraphicsMagick-1.3.29
PATH=$GM_HOME/bin:$PATH
export PATH CLASSPATH GM_HOME 

保存后执行,使配置生效

source /etc/profile

5. 检查是否安装成功

用命令:

convert -version

 会显示:

Version: ImageMagick 6.7.2-7 2017-03-22 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP

用命令

gm version

会显示:

GraphicsMagick 1.3.29 2018-04-29 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2018 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Feature Support:
  Native Thread Safe       yes
  Large Files (> 32 bit)   yes
  Large Memory (> 32 bit)  yes
  BZIP                     yes
  DPS                      no
  FlashPix                 no
  FreeType                 yes
  Ghostscript (Library)    no
  JBIG                     no
  JPEG-2000                yes
  JPEG                     yes
  Little CMS               no
  Loadable Modules         no
  OpenMP                   yes (200805)
  PNG                      yes
  TIFF                     yes
  TRIO                     no
  UMEM                     no
  WebP                     no
  WMF                      no
  X11                      yes
  XML                      no
  ZLIB                     yes

Host type: x86_64-unknown-linux-gnu

Configured using the command:
  ./configure  ''--prefix=/usr/local/GraphicsMagick-1.3.29''

Final Build Parameters:
  CC       = gcc -std=gnu99
  CFLAGS   = -fopenmp -g -O2 -Wall -pthread
  CPPFLAGS = -I/usr/include/freetype2
  CXX      = g++
  CXXFLAGS = -pthread
  LDFLAGS  = 
  LIBS     = -ltiff -lfreetype -ljasper -ljpeg -lpng12 -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

6.im4java 代码设置 CMD 路径为

/usr/local/GraphicsMagick-1.3.29/bin

 

关于ubuntu – 如何将GraphicsMagick与应用程序捆绑在一起?ubuntu low graphic的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于android – 如何将Realm数据库文件与我的应用程序捆绑在一起以进行安装、bundle – 将JRE与应用程序捆绑在一起?、c# – 如何将本机DLL与托管应用程序捆绑在一起?、CentOS6 安装 GraphicsMagick等相关内容,可以在本站寻找。

本文标签: