문제

만들다 스크립트는 다음과 같이 변수를 설정하려고합니다.

VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )

어디 VER_HEX 값이 있습니다 0a.

Perl은 Ver_Hex가 0이라고 생각하는 것 같습니다. 변수가 설정되지 않았 음을 암시합니다 (그러나 IT ~이다, makefile의 디버그 에코에 따르면).

Make는베이스를 변환하는 더 간단한 방법을 가지고 있습니까?

그렇다면 어떤 버전의 제조사가 필요합니까?

업데이트 : 이것은 GNU makefile입니다. Perl의 호출에는 단어가 없습니다 shell 내부 $( ) 물론 이중 인용문으로 문제가 발생할 수 있습니다.

도움이 되었습니까?

해결책

VER_DEC=$(shell printf "%d" 0x$(VER_HEX))

당신이 이야기하고 있다면 Makefile. 당신은 모양이 아니기 때문에 Makefile 나에게, 쉘처럼. (제 생각에는 $(shell ) GNU 확장이지만 대부분의 경우 안전하게 백 티크로 교체 할 수 있습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top