大家好,我需要使用 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
会工作。