Imake가 헤더 파일을 선택하지 않습니다

Imake가 헤더 파일을 선택하지 않습니다

현재 지원되지 않는 Imakefile을 사용하는 일부 소프트웨어를 구축 중입니다. 소프트웨어에는 Imake.tmpl 파일이 있습니다. 이는 config/cf/Imake.tmpl에 위치합니다(최상위 디렉토리 기준).

소프트웨어의 하위 디렉토리에는 내가 입력한 다른 Imakefile이 포함되어 있으므로(아래)이 매뉴얼 페이지):

 xmkmf -a . . 

첫 번째 점은 최상위 디렉터리를 나타내고 두 번째 점은 현재 디렉터리를 나타냅니다.

다음 오류가 발생합니다.

 mv -f Makefile Makefile.bak
 imake -I./config/cf -DTOPDIR=. -DCURDIR=.
In file included from Imakefile.c:34:0:
./config/cf/Imake.tmpl:33:0: fatal error: site.def: No such file or directory
 #include <site.def>
 ^compilation terminated.
  imake: Exit code 1.
  Stop.

site.def 파일은 존재하며 config/project/site.def 아래에 있습니다.

imake가 생성한 Imakefile.c의 내용입니다. imake가 실행을 완료하면 파일이 삭제되지만 파일에 대한 링크를 생성하여 보관할 수 있습니다.

/* imake - temporary file */
#define DefaultOSName Linux 4.13.0-36-generic x86_64
#define DefaultOSMajorVersion 
#define LinuxDebian     4
#define LinuxInfoMagic  5
#define LinuxKheops     6
#define LinuxPro        7
#define LinuxRedHat     8
#define LinuxSlackware  9
#define LinuxTurbo      10
#define LinuxWare       11
#define LinuxYggdrasil  12
#define DefaultLinuxDistribution LinuxDebian
#define DefaultLinuxDistName Debian
#define HasGcc 1
#define HasGcc2 1
#define HasGcc3 1
#define GccMajorVersion 5
#define GccMinorVersion 2
#define INCLUDE_IMAKEFILE </tmp/IIf.j7V6mk>
#define IMAKE_TEMPLATE "Imake.tmpl"
#include IMAKE_TEMPLATE

어떤 제안이라도 대단히 감사하겠습니다.

답변1

참고: 저는 이 소프트웨어를 정기적으로 사용하는 사용자도 아니고, imake그렇지도 않습니다.진짜빌딩 시스템에 대해 매우 잘 알고 있습니다.~해야 한다일하다.

imake아래에 포함할 파일을 찾고 있다는 오류가 분명합니다 config/cf.site.defconfig/project

해커는 site.def현재 위치에서 파일을 심볼릭 링크 하거나 config/cf해당 위치에 파일의 복사본을 만들 수 있습니다.

하지만 그건 해킹이고, 여러분이 만들고 있는 소프트웨어는 해킹 없이도 제대로 구축될 것이라고 확신합니다. 해당 소프트웨어에 대한 설명서를 참조해야 합니다. xmkmf다른 디렉터리에서 실행해야 할 수도 있고 , Imakefile파일 중 하나를 쉽게 수정하여 -I프로젝트에 추가 플래그를 추가할 수도 있습니다.

관련 정보