2011-09-26 1 views
1

redhat Linux 환경에서 C++ 응용 프로그램을 만들었습니다. 이 응용 프로그램과 함께, 응용 프로그램에 필요한 많은 * .so 라이브러리도 만들었습니다. 생성 된 응용 프로그램은 Boost C++ 라이브러리를 사용합니다. -lboost_system, -lboost_thread 등런타임 라이브러리 및 실행 파일로 RPM 패키지 만들기

프로덕션 시스템에 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 파일을 만들기 위해 시도했지만 stucked있다 :

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 

은 위시 누군가가 나를 도울 수 out ...

답변

0

Boost 라이브러리 (RPM과 함께 설치됨) 용으로 2 차 RPM을 만들거나 Boost 라이브러리를 정적으로 링크해야합니다 너의 어플리케이션.