저는 Yocto 빌드 환경을 처음 사용합니다.Yocto 프로젝트의 컴파일 시간 매개 변수를 전달하는 방법은 무엇입니까?
#include <stdio.h>
int main()
{
printf("HELLO WORLD\n");
#ifdef MYDEF
printf("MYDEF is defined\n");
#endif
return 0;
}
내가 local.conf 파일에 플래그/매개 변수 MYDEF를 전달하려는 : 나는 다음과 같이 몇 가지 코드를 가진 C 코드를 가지고있다. 나는 다음 정의를 시도했지만 작동하지 않았다. 내가 뭘 잘못하고 어떤 문제를 해결할 수 있을지에 대한 생각?
MYDEF = 'y'
MYDEF ?= 'y'
MYDEF ??= 'y'
CFLAGS = "-DMYDEF"
TARGET_CFLAGS = "-DMYDEF"
BUILD_CFLAGS = "-DMYDEF"
감사합니다.
LICENSE = "CLOSED"
SRC_URI = "file://hello_test.cpp"
S = "${WORKDIR}"
inherit native
MYDEF = "y"
do_compile(){
${CC} -DMYDEF -o hello_test ${S}/hello_test.cpp
}
do_install() {
install -d ${D}${bindir}
install ${B}/hello_test ${D}/${bindir}
}
그리고 바이너리 실행 hello_test 의 증거 :
메이크 파일이나 일반 C 코드를 사용합니까? –
이 설정에서는 Makefile을 사용하지 않습니다. -DMYDEF를 사용하여 무언가를 전달함으로써 Makefile을 사용하는 방법을 알고 있습니다.하지만 이것은 yocto 기반의 빌드 시스템이며 커튼 뒤에 무엇이 생성되는지 전혀 알지 못합니다. 난 단지 Yocto의 bitbake 명령에 MYDEF를 정의 된 매개 변수로 전달하도록 명령하는 방법이 필요합니다. 이견있는 사람?? – learner
그러면 @ astor555 대답은 잘 될 것입니다. Yocto는 특별한 일을하지 않습니다. 그가했던 것처럼 $ {CC}를 사용해야합니다. 다른 모든 것은 관리됩니다. –