좋아,이 작업은 간단해야하지만, 이것을 이해하지 못하는 것 같습니다. ProjectA와 ProjectB라는 두 개의 프로젝트가 있습니다. ProjectB는 이전 프로젝트 인 ProjectA에 의존합니다. 이제는 ProjectB를 만들고 싶습니다. 이제 ProjectA의 디렉토리 구조를 변경하고 싶지 않습니다. 문제는, 나는 항상 ProjectA와 함께 -outputdir bin을 사용했다.GHC에서 별도의 프로젝트에 연결하기
는 PROJECTA이처럼 보였다 :
ProjectA/
bin/
(*.o, *.hi in proper paths, sometimes also *.p_o and *.p_hi)
Foo/
ModuleX.hs
ModuleA.hs
ModuleB.hs
가 지금은 자신의 별도의 -outputdir으로, ProjectB와 다른 폴더가 있습니다. ProjectA 파일을 다시 컴파일하지 않고 이전 프로젝트 객체 파일에 연결하기 만하면됩니다. 나는 아마 ProjectA를 cabalize 할 수 있다는 것을 알고 있지만, 더 간단한 방법은 없을까요?
빌드 시스템이 필요합니다. 음부 (또는 메이크 파일)가 흔들리는 것을 좋아하지 않는 경우 (http://community.haskell.org/~ndm/shake/) – Jonke
고마워요. 나는 쉐이크를 조사 할 것입니다.하지만 실제로 교체 할 필요는 없습니다. 사실, 나는 지금 당장은 매우 행복합니다. 문제는 GHC가 충분히 사용자 정의 할 수없는 것 같은 .o 및 .hi 파일을 검색하는 이상한 방법을 갖고있는 것입니다. 즉, -outputdir bin을 추가하면 ... bin에서 미리 컴파일 된 파일을 찾을 것이며 ProjectA/bin으로 변경하는 방법을 찾을 수 없습니다. – Samee