2017-09-27 11 views
0

나는 자식 서브 모듈 libxml2을 포함하는 프로젝트를 만들었습니다. 내 binding.gyp 안에이 파일을 사용하고 싶지만 node-gyp build을 실행하는 동안 오류가 발생합니다. 여기서 문제는 xmlversion.h.in 파일 만 있지만 xmlversion.h 파일이 필요하다는 것입니다. autotoolsxmlversion.h.in 밖으로 xmlversion.h 파일을 생성하기 때문에 node-gyp - ".h.in"파일 처리

내가 libxml2 첫째 모든의 autogen.sh 스크립트를 실행하고

는 잘 작동한다.

node-gyp을 사용하여 xmlversion.h 파일을 만드는 방법이 있습니까?

내 현재 bindings.gyp은 다음과 같습니다

{ 
    'targets': [{ 
     'target_name': 'library', 
     'product_extension': 'node', 
     'type': 'shared_library', 
     'include_dirs': [ 
      'libxml2/include', 
      'libxml2', 
      "<!(node -e \"require('nan')\")" 
     ], 
     'cflags': [ '-Wall' ], 
     'xcode_settings': { 
      'OTHER_CFLAGS': [ '-Wall' ] 
     }, 
     'sources': [ 
      # src/my_files.cc 
      # libxml2/libxml2_files.c 
     ] 
    }] 
} 
+0

는 노드 활력을 사용하고 autotools를 함께 혼합하는 어떤 특별한 이유가 있습니까? – VTT

답변

0

가장 좋은 방법은 파일에 .h.in의 문제를 해결하는 것이 한 번 autotools과의 다른 디렉토리에 생성 .h 파일을 복사를 사용하여 구축하는 것입니다 프로젝트 (그래서 하위 모듈은 영향을받지 않습니다). 또한 여러 플랫폼이나 아키텍처에 맞게이 파일을 빌드해야 할 수도 있습니다. 그런 다음 포함 폴더에 새 폴더를 추가 할 수 있습니다. 그위한 꽤 좋은 해결책은 여기에 있습니다 :

Github DEMO