2013-06-05 2 views
2

나는 알레그로 간단한 게임을 만들었습니다. 그러나 다른 컴퓨터에서 * .exe 파일을 열면 누락 된 .dll 파일이 많이 있다고합니다. Visual Studio 및 Allegro 5 라이브러리가 설치되어 있지 않은 상태에서도 다른 컴퓨터에서 게임을 실행할 수 있습니까? 내 댓글의다른 컴퓨터에서 Allegro 5 실행하기

+2

.exe가있는 동일한 디렉터리에 누락 된 DLL을 추가하십시오. –

+0

그러나 많은 dll이 누락되었습니다. 한 번에 그들을 포함시킬 수있는 방법이 있습니까? –

+0

내 대답을 확인하십시오. –

답변

2

긴 버전 :

응용 프로그램을 만들어

, 그것은 특정 DLL의 컴퓨터에 존재하는 링크. 게임을 배포 할 때 DLL을 .exe와 함께 압축하거나 패키지 작성자를 사용하여 패키지를 만들어서 제공해야합니다.

exe가 어떤 DLL을 사용하는지 확인하는 가장 좋은 방법은 Dependency Walker과 같은 도구를 사용하는 것입니다. 귀하의 EXE가 의존하는 모든 DLL을 절대적으로 복사 할 필요는 없습니다. C : \ Windows \ System32에없는 것과 같은 비표준 경로에있는 파일 만 볼 수 있습니다. 즉, 의 일부를 C : \ Windows \ System32에서 복사해야 할 수도 있습니다. 당신 스스로 알아 내야 할 것입니다.

모두를 패키지로 설치하려면 InnoSetup 또는 NSIS과 같은 패키지 작성자를 사용할 수 있습니다. 그렇지 않으면 ZIP을 사용하여 스크립트를 작성하십시오. AFAIK, 다른 사람의 시스템에서 누락 된 모든 DLL을 가져 오는 쉬운 방법은 없습니다. 시행 착오로 그들을 찾아야합니다. 불행히도 고통입니다.

+0

@JeremyFriesner : 이미 내 답변에 :) –

1

사전 빌드 된 바이너리를 다운로드 한 경우, Allegro의 정적, 모 놀리 식, mt 빌드와 링크하십시오. (/ MT)와 일치하도록 컴파일러 설정을 조정하고을 전 처리기 정의 목록에 추가해야합니다.

그렇다면 실행 파일과 리소스 (이미지, 사운드 등) 만 배포하면됩니다.

적어도 두 개의 구성이 있어야합니다. 디버그 & 릴리스. 응용 프로그램에서 작업 할 때는 디버그 구성 (일반 디버그 Allegro 라이브러리와 연결)을 사용해야합니다. 응용 프로그램을 배포 할 때는 릴리스 구성을 사용해야합니다.

관련 문제