私は別のディレクトリに4つのファイルを持っています。Yoctoマルチファイルコンパイル
1. /home/Linux/NXP/XYZ/Embedded/Read/read.c
2. /home/Linux/NXP/XYZ/Embedded/main/mainfun.c
3. /home/Linux/NXP/XYZ/Embedded/write/write.c
4. /home/Linux/NXP/XYZ/Embedded/config/config.c
と.BBファイルがmainfun.ciから
"/home/Linux/NXP/yocto/jethro/yocto/source/meta-mylayer/recipes-app/mainfun/mainfun.bb"
に位置していますがwrite.cの内側に存在しているfuncionのdefination異なる関数を呼び出し、CONFIG.C、read.c
ています私はyoctoを使用して単一のファイルのコンパイルに遭遇するだけですので、どのように私はコンパイルし、exicutable "XYZ_app"を生成することができます。
ここで私は私が書かれている.BBファイルを添付けど
DESCRIPTION = "multiple file compilation"
PR = "r0"
LICENSE = "CLOSED"
SRC_URI += "file://home/Linux/NXP/XYZ/Embedded/ \
"
S = "${WORKDIR}"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} --static -c ${WORKDIR}}/home/Linux/NXP/XYZ/Embedded/read/read.c
${CC} ${CFLAGS} ${LDFLAGS} --static -c ${WORKDIR}}/home/Linux/NXP/XYZ/Embedded/write/write.c
${CC} ${CFLAGS} ${LDFLAGS} --static -c ${WORKDIR}}/home/Linux/NXP/XYZ/Embedded/conf/conf.c
${CC} ${CFLAGS} ${LDFLAGS} --static -c ${WORKDIR}}/home/Linux/NXP/XYZ/Embedded/mainfun/mainfun.c
${CC} ${CFLAGS} ${LDFLAGS} --static ${WORKDIR} /home/Linux/NXP/XYZ/Embedded/Read/read.o /home/Linux/NXP/XYZ/Embedded/write/write.o /home/Linux/NXP/XYZ/Embedded/conf/conf.o /home/Linux/NXP/XYZ/Embedded/mainfun/mainfun.o -c XYZ_App
}
do_install() {
install -m 0755 -d ${D}${bindir}
install -m 0755 ${S}/XYZ_App ${D}${bindir}
}
よろしく、 Bhargav Jayswal
親愛なるLetoThe2nd、お返事ありがとうございました。私は既にすべてのドキュメントを閲覧しています。また、標準的な方法に従うことが常に優れていることに同意します。好奇心のせいで、私はいつも考えられる方法を知ろうとしています。あなたは私の質問のための例を共有することができますので、私にとってより明確になります。 –
私はそれを自分のために時間の無駄だと考えているので、実際には私はそれを完全に解決するつもりはありません。しかし、いくつかの指針:あなたは実際にレシピでソースを保持したい場合は、それらはまた、ファイルディレクトリの中でそれがマシン上の任意のパスではなく、隣にある必要があります。リンクするステップでは、あなたのファイルシステムのどこかに絶対的なパターンを与えています。これはできるだけ壊れそうです。 – LetoThe2nd