C++ Linux 在部署环境中安装可执行文件



大家好,我需要使用 make 文件或脚本部署 linux(centos) c++ 项目。通过一个生成文件或脚本安装依赖项和项目可执行二进制文件。我的依赖应用程序libboost-devel,gcc-g++和PCRE。我的可执行二进制文件run_excute

是的 - 将以下命令放入文件中。在文件顶部添加:

#!/bin/bash

保存文件 - 假设您称之为安装;在命令行上键入:

chmod +x ./install

然后,要构建并安装程序类型,请执行以下操作:

sudo ./install

或者,如果您有时间: http://www.rpm.org/max-rpm/ch-rpm-build.html


例如,Fedora 的基本 rpm 构建过程是:

第 1 步:设置您的机器进行包装:

dnf install @development-tools fedora-packager rpmdevtools
rpmdev-setuptree

第 2 步:源和生成文件把它们放在 ~/rpmbuild/SOURCES 中

步骤 3:创建等级库文件在 ~/rpmbuild/SPECS 中创建名为 myname.spec 的文件。 它应该包含以下内容:

Summary:            My program description
Name:               myname
Version:            0.0.0
Release:            0
License:            GPLv2
Group:              Applications/Databases
Source:             https://xyz.tar.gz
URL:                http://myurl
BuildRequires:      libicu-devel
BuildRequires:      pcre-devel
%description
A couple of lines describing the package
%prep
%setup -q
%build
cd %{myname}/source
make %{?_smp_mflags}
%install
%make_install
%files
%{_bindir}/*
%changelog
* Tue Nov 10 2015 Yours Truly <me@somewhere.com> - 0.0.0-0
- Some change comments

第 4 步:创建源和二进制 rpm

cd ~/rpmbuild/SPECS
rpmbuild -ba myname.spec

第 5 步:使用 rpm

cd ~/rpmbuild/RPMS/x86_64
rpm -Uvh ./myprogram-version-release.a.whole.lot.of.stuff.rpm

要安装依赖项,请使用 yum,因此:

sudo yum install libboost-devel
sudo yum group install "Development Tools"
sudo yum install pcre-devel

要构建应用程序,请移动到包含生成文件的目录,然后执行以下操作:

make
sudo make install

最后运行应用程序

./run_excute

或者如果你幸运的话

run_excute

会工作。

最新更新