2015-01-21 3 views
0

은 이제 나는이 두 패키지와 한 응용 프로그램을 가정 해 봅시다 .dpr설정 경로

P2는 P1을 사용합니다.
App1은 P1과 P2를 사용합니다.

델파이 XE에서 P1을 준수하고 'Tools-> Options-> Library path'에 경로를 추가했습니다. 그렇다면 나는 P2에 대해서도 똑같이했다.
현재 App1은 컴파일 가능합니다 (P1 및 P2의 소스 코드를 찾으려면 '라이브러리 경로'를 사용합니다). 다른 설정 (검색 경로 등)은 필요하지 않습니다.

이것은 Win32 플랫폼에서만 사용되었습니다. 이제 Delphi XE7에서 모든 프로젝트에 Win64 플랫폼을 추가했습니다. 그리고 그 일들은 정말 엉망이되었습니다.

이해 :
1. 두 플랫폼 용 패키지를 컴파일해야합니다.
2. Delphi는 32 비트 앱이기 때문에 Win32 용 패키지 만 설치해야합니다.
3. 프로젝트 옵션의 '모든 구성/모든 플랫폼'에서 '. $ (플랫폼) \ $ (구성)'을 사용해야하므로 4 개의 다른 폴더 (출력 32, 디버그 64, 릴리스 32, 릴리스 64).

App1의 검색 경로에 'c : \ p1 \ $ (플랫폼) \ $ (구성)'을 추가하면 제대로 작동합니다. 하지만 ... 이것은 모든 프로젝트 경로에 모든 패키지 경로를 추가해야한다는 것을 의미합니다.

제 문제는 위의 예에서 보았 듯이 2 개 이상의 패키지가 있습니다 (P1 ~ P10과 비슷합니다). 모든 DPR 프로젝트의 검색 경로에 모든 경로를 추가하는 것은 좋지 않은 해결책입니다. 더 좋은 방법이 있을까요? 어쩌면 '라이브러리 경로'에 경로를 추가하는 것과 같을까요? 이 방법은 이전의 프로젝트가 '검색 경로'에 추가 문자열을 설정하지 않고 이전처럼 작동합니다.

+1

이것은 http://stackoverflow.com/questions/17866331/delphixe4-64bit-vcl-platform-growing-pains-how-to-set-64-bit-paths 또는 http : //와 중복되지 않습니다. /stackoverflow.com/questions/8417018/how-can-i-compile-32-and-64-bit-dcus-into-separate-directory. 나는 그 질문에 대해 안다. 그리고 그것은 내 질문에 명시 적으로 대답하지 않을 것이다. – Ampere

답변

3

더 나은 방법은 패키지의 컴파일 옵션에서 단위 출력 디렉토리를 설정하는 것입니다. 예를 들어 모든 패키지의 단위 출력 디렉토리로 $(BDSCOMMONDIR)/MyPacks/$(Config)/$(Platform)을 설정하고 $(BDSCOMMONDIR)/MyPacks/$(Config)/$(Platform)을 기본 프로젝트의 검색 경로에 추가하십시오.

+1

이것은 좋은 것 같습니다. 하지만 Delphi XE2에서는 '기본 프로젝트 옵션'과 같은 것이 없다고 생각했습니다. – Ampere