Eu não consigo pegar arquivos de cabeçalho

1

Eu estou construindo alguns softwares, que atualmente não são suportados, que usam Imakefiles. O software tem um arquivo Imake.tmpl. Ele está localizado (em relação ao diretório principal) em config / cf / Imake.tmpl.

Como o software tem subdiretórios contendo outros Imakefiles que eu digitei (seguindo esta man page ):

 xmkmf -a . . 

O primeiro ponto é para o diretório principal e o segundo ponto é para o diretório atual.

Eu recebi este erro:

 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.

O arquivo site.def existe e está localizado em config / project / site.def.

Este é o conteúdo do Imakefile.c gerado pelo imake. Este arquivo é removido quando o imake termina a execução, mas pode ser retido criando um link para esse arquivo.

/* 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

Qualquer sugestão seria apreciada.

    
por gansub 09.03.2018 / 04:24

1 resposta

1

Nota: Eu não sou um usuário regular de imake e não sei muito sobre como esse sistema de compilação é suposto funcionar.

p>

O erro imake está procurando arquivos para incluir em config/cf , mas o arquivo site.def está localizado em config/project .

Um truque seria vincular simbolicamente o arquivo site.def de seu local atual a config/cf ou fazer uma cópia do arquivo nesse local.

Isso é um truque, e tenho certeza de que o software que você está construindo pode ser construído corretamente sem ele. Você deve consultar a documentação do software. Pode ser que xmkmf precise ser executado em outro diretório ou que um dos arquivos Imakefile possa ser facilmente modificado para incluir um sinal% -I adicional no projeto.

    
por 09.03.2018 / 08:54

Tags