2015-01-26 1 views
1

./autogen.sh --prefix=/usr/을 사용하여 C project을 만들고 구성 프로세스 (및 나중에 컴파일 및 연결 단계)로 만든 모든 파일은 내 원본 폴더에 있습니다.파일 (m4 및 객체 파일)을 별도의 폴더에 생성하도록 autogen.sh에 지시하려면 어떻게해야합니까?

다른 폴더를 사용하고 싶습니다. (보통 cmake 프로젝트와 마찬가지로 ./build).

어떻게하면됩니까?

명령 줄 매개 변수가 있습니까? 파일을 변경해야합니까? 시도 cd build && ../autogen.sh --prefix=/usr/

Note: autogen.sh calls gnome-autogen.sh

편집

오류와 함께 실패합니다

/usr/bin/gnome-autogen.sh: ./configure: not found 
+0

아마도'mkdir 빌드 && cd 빌드 && ../ autogen.sh'? – ForceBru

+0

아이디어를 제공해 주셔서 감사합니다. 불행히도 그것은 작동하지 않습니다. 질문 업데이트 됨 –

+0

'autogen'의 도움을 볼 수 있습니다. 어쩌면'./autogen.sh --help'가 작동 할 것입니다. – ForceBru

답변

2

이 내가 아는 한 수 없습니다. autogen는 이상한 짐승이다; 생성하는 파일은 프로젝트를 빌드하는 데 필요합니다 (configureMakefile.am).

즉, autogen은 "소스 코드를 제품에 컴파일"단계보다 더 많은 부분을 의미합니다.

./autogen.sh 
mkdir build 
../configure --prefix=/usr 

가에 Compiling For Multiple Architectures를 참조하십시오 : 당신이 autogen를 실행 한 후 모든 사용자의 특정 아키텍처의 빌드 (config.h, Makefile, ...)를 구동하는 데 필요한 파일, 당신은 버전을 얻을 수있는 빌드 디렉토리에 configure를 실행할 수 있습니다 파일 INSTALL.

+0

파일을 빌드하는 데 필요합니다 ... 모두 올바른 상대 경로를 유지해야합니다. 이 방법으로도 빌드 디렉토리에서. 나는 이것이 제대로 작성된'autogen.sh' 스크립트로 작동한다고 생각합니다. 그리고 빠른 온라인 검색은이 경우를 다루기 위해'autogen.sh' 스크립트에서 여러가지 프로젝트를 수정합니다. –

+0

어떤 이유로'./autogen.sh'를 실행해도 ./configure가 실행됩니다.프로젝트와 함께 제공되는 스크립트와 관련이 있습니까? –

+0

제 복사본에서'$ srcdir/configure'를 실행하려고 시도합니다. 'cd build;를 시도해라. srcdir = .. ../ autogen.sh'. 이 이상한 구문은 변수'srcdir'를 정의하고'..' (= parent 폴더)를 할당 한 다음'../ autogen.sh'를 실행합니다. –

관련 문제