서버 환경
CentOS release 6.6
커널 - 2.6.32-504.el6.x86_64
1. addon 살펴보기
LTS 버전인 node v4.5.0 문서에서 c/c++ addons 부분 참고
https://nodejs.org/dist/latest-v4.x/docs/api/addons.html
2. node-gyp 설치
addon을 사용하기 위해서는 node-gyp를 설치해야 한다.
https://github.com/nodejs/node-gyp
3. gcc 설치 or 버전 업
gcc 버전이 4.4 버전이라 node-gyp build가 제대로 진행되지 않았다.
아래 링크를 참고하여 4.8로 버전 업하였다.
https://gist.github.com/stephenturner/e3bc5cfacc2dc67eca8b
제대로 동작이 안된다면 아래 참고.
* 기존 gcc, g++가 있는 bin 디렉토리에 업그레이드 한 gcc, g++ 복사
* $gcc -print-prog-name=cc1 명령을 이용하여 4.8 버전 디렉토리가 존재하는지 체크 후 없다면 설치한 4.8 디렉토리를 복사
* gcc 라이브러리도 버전 업 한 디렉토리를 기존 디렉토리(/usr/lib/gcc/x86_64-redhat-linux/)에 복사
* as 바이너리 파일도 /usr/bin으로 복사 (어셈블러 버전이 낮아 Error: expecting string instruction after `rep'과 같은 에러 발생 시)
* 한줄요약 - 기존 gcc, g++을 업그레이드 한 버전의 gcc, g++로 바꿔야 한다. (실행 파일, 라이브러리, 헤더 등등)
4. sample 진행
node 문서에 나온 샘플을 가지고 진행을 하였다.
java -> c++ convert
https://blog.scottfrees.com/type-conversions-from-javascript-to-c-in-v8
exception handling disabled, use -fexceptions to enable 에러 처리
https://github.com/nodejs/node-gyp/issues/17
5. node 버전이 다른 경우?
node의 버전이 다른 경우 제대로 적용이 되지 않는다.
컴파일 시 참조하는 node 파일이 다르기 때문인듯.. node 버전을 맞춰서 node-gyp으로 컴파일 하자.
6. 윈도우의 경우...
centos에서 컴파일하고 잘 적용이 되었다 싶었는데 윈도우 환경에서 개발하시는 분들은 해당 파일이 적용이 되지 않았다...
윈도우 환경에서 컴파일을 진행해야 한다.
node-gyp에서 windows용 설정을 진행하고 cmd를 실행 후 c/c++ 소스 파일이 있는 경로로 이동 후 build 작업을 진행하면 된다.
'개발 > NODE' 카테고리의 다른 글
express body-parser 관련 (0) | 2018.03.26 |
---|---|
이클립스에서 Node 설정 (0) | 2016.10.13 |
node update (0) | 2016.10.12 |
node를 사용하여 ffmpeg 이용하여 ebur128 기준 인코딩 (0) | 2016.08.01 |
Node Express를 이용한 Cookie Set (1) | 2016.03.16 |