1

我在 redhat linux 环境下创建了一个 C++ 应用程序。除了这个应用程序,我还创建了许多应用程序所需的 *.so 库。创建的应用程序使用了一些 Boost C++ 库,例如 -lboost_system、-lboost_thread 等

我希望将此应用程序及其所需的运行时库部署到生产机器上,而无需公开/重新编译源代码,也无需在生产机器上完全安装 Boost C++。可能吗?

开发机中的应用程序目录结构如下:

~/SysA/debug/main/main     (executable binary file)
~/SysA/debug/main/config   (configuration text file)
~/SysA/debug/lib1/libA.so
~/SysA/debug/lib2/libB.so
~/SysA/debug/lib3/libC.so
   :
   :

我试图按如下方式制作我的第一个 RPM SPEC 文件,但卡住了:

Name: SYSTEM
Version: 0.1
Release: 1.0
BuildRoot: %{_topdir}BUILD/%{name}-%{version}-%{release}

AutoReqProv: no

%description
System testing

%prep
rm -rf $RPM_BUILD_ROOT

%clean
rm -rf %RPM_BUILD_ROOT

%files
%defattr(644, root, root)
%changelog

希望有人可以帮助我...

4

1 回答 1

0

您应该为 Boost 库创建第二个 RPM(与 RPM 一起安装)或将 Boost 库静态链接到您的应用程序中。

于 2011-12-06T22:38:05.003 回答