2011-08-20 3 views
0

오픈 소스 프로그래밍 언어로 작업 중이며 사용자가 자신의 프로그램에서 독립 실행 형 .exe 파일을 배포 할 수있게하려고합니다. 내 전략은 3 개 구성 요소를 가지고있다 :MinGW를 다른 프로그램으로 배포하기위한 가장 작은 패키지

  1. A가 .o 인 생성 된 실행을 시작하는 DLL을 호출하는 통역에게 (C에서 한 번 발생)
  2. 작은 .o 인 오브젝트 파일을 포함하는 DLL # 2로 2 진 BLOB로 임베디드 될 사용자 프로그램의 2 진 표현을 포함하는 파일.

사용자가 .exe를 요청하면 # 2와 # 3이 함께 연결되고 결과로 생성 된 실행 파일은 # 1로 배포 될 수 있습니다. 여태까지는 그런대로 잘됐다.

내가 지금 가지고있는 문제는 연결 단계를 수행하기 위해 MinGW가 언어와 번들되어야한다는 것입니다. 내 사용자가 수동으로 MinGW를 다운로드하지 않고 (내 기본 청중은 어린이) 표준 MinGW 배포본이 100MB 이상이므로 내 모든 언어를 번들로 묶어 내 언어 다운로드의 미니멀리즘을 해칠 수 있습니다. (현재는 약 5MB입니다.).

내 질문은 : \ MinGW에서 잡아 당겨서 언어로 묶어서 g ++. exe 파일로 두 개의 .o 파일과 필요한 라이브러리를 함께 연결하는 파일 목록이 있습니까?

대체 솔루션도 환영합니다 (예 : 다른 응용 프로그램과 쉽게 번들로 제공되는 무료 재배포 가능 C++ 컴파일러).

답변

0

MinGW에서 Dependency Walker 및 rip g ++을 사용해 볼 수 있습니다. 의존성 목록을 생성합니다. 또는 cygwin을 사용하면 약 15MB로 공간을 줄일 수 있습니다.

+0

제안 해 주셔서 감사합니다. GNU toolchain이 프로세스와 DLL, 유닉스 방식뿐만 아니라 모든 프로세스 간의 많은 의존성을 가지고있을 것이기 때문에 의존성 워커 (dependency walker)가 나를 데려 갈 지 확신 할 수 없다. 또한 cygwin 팁을 확인하겠습니다 :) –

관련 문제