C++ 如何构建Xuggle Xuggler的GPL和LGPL版本?
我是否可以采取具体步骤从Windows 32位、Windows 64位、Linux 32位和Linux 64位构建Xuggle Xuggler源代码?我在多个系统上尝试了多次,不断地得到许多不同的错误 更新 我花了几天时间试图让XuggleXuggler编译(和 交叉编译)。我成功地解决了编译原始GPL和 代码的版本和LGPL版本。我想我应该发布一个 回答我自己关于堆栈溢出的问题,分享我的知识 树莓皮的更新 我还能够按照下面相同的基本说明在Raspberry Pi上构建和运行Xuggler。我刚用过 我在Github上维护的LGPL版本的代码,并对Pi进行了修改。我也可以在我的Radxa Rock(另一个ARM设备)上使用编译好的JAR文件和二进制文件。如果你感兴趣的话 在构建Pi时,可以使用我的Pi分支: 如果您很懒,只需要Pi/ARM的预编译.jar文件: 为了完整性(万一有一天链接失效),这里有一些格式不太好的文本: 构建Xuggle Xuggler(GPL和LGPL许可版本) [Linux 32位、Linux 64位、Windows 32位、Windows 64位] 要构建Xuggle Xuggler库,您需要两台运行Ubuntu11.10(32位和64位操作系统)的Linux虚拟机。构建Linux 32位、交叉编译Windows 32位和交叉编译Windows 64位二进制文件需要32位版本的操作系统。构建Linux 64位二进制文件需要64位版本的操作系统 使用VirtualBox,我创建了上面讨论的两个虚拟机,分别是ubuntu-11.10-server-i386.iso和ubuntu-11.10-server-amd64.iso磁盘映像。这些是Ubuntu的无头服务器版本。安装操作系统后,按照以下步骤构建Xuggler(欢迎您尝试不同的依赖版本,不要使用root用户,但这是我成功构建的步骤): 更改为根用户:C++ 如何构建Xuggle Xuggler的GPL和LGPL版本?,c++,gcc,cross-compiling,xuggler,xuggle,C++,Gcc,Cross Compiling,Xuggler,Xuggle,我是否可以采取具体步骤从Windows 32位、Windows 64位、Linux 32位和Linux 64位构建Xuggle Xuggler源代码?我在多个系统上尝试了多次,不断地得到许多不同的错误 更新 我花了几天时间试图让XuggleXuggler编译(和 交叉编译)。我成功地解决了编译原始GPL和 代码的版本和LGPL版本。我想我应该发布一个 回答我自己关于堆栈溢出的问题,分享我的知识 树莓皮的更新 我还能够按照下面相同的基本说明在Raspberry Pi上构建和运行Xuggler。我刚
sudo su
只需使用root的主目录:
cd /root
更新apt get以使用特定存储库:
apt-get install python-software-properties
add-apt-repository ppa:ferramroberto/java
apt-get update
安装Java:
apt-get install sun-java6-jdk sun-java6-plugin
验证热点Java 6 JVM是否为默认Java:
java -version
如果出现不正确的Java版本,请通过运行以下命令配置默认值:
update-alternatives --config java
安装gcc、g++、make和所有其他构建要素:
apt-get install build-essential
安装YASM:
apt-get install yasm
安装开放式SSL:
apt-get install openssl
安装程序包配置:
apt-get install pkg-config
安装Git:
apt-get install git
安装Ant:
apt-get install ant-optional
安装JUnit:
apt-get install junit
安装MingGW以便能够为Windows构建(mingw-w64可以实现32位和64位Windows):
下载LGPL配置的Xuggle源代码(Ed的代码分支来自Jeff Wallace的代码分支来自原始GPL Xuggle代码)或原始GPL版本:
LGPL: git clone https://github.com/e-d/xuggle-xuggler.git
GPL: git clone https://github.com/xuggle/xuggle-xuggler.git
编译并构建JAR文件(其中包含二进制文件)。确保在64位版本的Ubuntu上运行64位Linux构建。还要注意,在构建之间,您将需要运行“ant clobber”以从以前的体系结构中删除所有已编译的文件。要构建和运行:
(32/64-bit Linux): ant stage
(64-bit Windows): ant -Dbuild.configure.os=x86_64-w64-mingw32 stage
(32-bit Windows): ant -Dbuild.configure.os=i686-w64-mingw32 stage
JAR文件将位于/dist/lib目录中
如果您还需要Linux二进制文件在CentOS上工作,那么现在需要将GCC和G++的版本更改为使用3.4而不是3.6
安装GCC 4.4:
apt-get install gcc-4.4
更新符号链接以使用4.4(在32位VM上,特定于arch的链接将不同):
安装C++(G++)4.4:
更新符号链接以使用4.4(在32位VM上,特定于arch的链接将不同): 验证默认版本:gcc --version
c++ --version
cpp --version
gcc --version
您现在可以像以前一样运行构建(您只需要重新构建Linux二进制文件)。二进制文件现在将与许多Linux发行版的稍旧版本兼容(包括CentOS兼容性)。这些4.4编译的二进制文件应该仍然可以在4.6编译版本运行的任何地方工作
特别感谢您为我指明了正确的方向,并为我提供了上面详细介绍的大部分内容。请通过一些文件共享服务(如Google Docs等)共享xuggler for Raspberry pi的编译二进制文件,这将是您方的巨大帮助。您可以下载我称之为“神奇xuggler Jar”的内容我在Raspberry Pi上构建并在这里的几个ARM设备上使用过:@11101101b-如果我需要构建java(jar)版本,这篇文章是否也相关?是的。构建jar是我们的目标。困难在于jar中依赖于系统的二进制文件。
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
rm /usr/bin/x86_64-linux-gnu-gcc
ln -s /usr/bin/x86_64-linux-gnu-gcc-4.4 /usr/bin/x86_64-linux-gnu-gcc
apt-get install c++-4.4
rm /usr/bin/cpp
ln -s /usr/bin/cpp-4.4 /usr/bin/cpp
rm /usr/bin/x86_64-linux-gnu-cpp
ln -s /usr/bin/x86_64-linux-gnu-cpp-4.4 /usr/bin/x86_64-linux-gnu-cpp
rm /usr/bin/g++
ln -s /usr/bin/g++-4.4 /usr/bin/g++
rm /usr/bin/x86_64-linux-gnu-g++
ln -s /usr/bin/x86_64-linux-gnu-g++-4.4 /usr/bin/x86_64-linux-gnu-g++
gcc --version
c++ --version
cpp --version
gcc --version