关于这个,opencore的目录下有文档quick_start.txt有简要的说明,先把那段话引用下来:
As part of the OpenCORE release, PacketVideo also provides it's internal
build system that can be used to build OpenCORE outside of Android with the
native linux toolchain.
The following are the steps involved:
NOTE 1: Assume <opencore> is the directory where you have downloaded the
OpenCORE codebase
NOTE 2: The setup scripts are meant to be used in with the bash shell.
cd <opencore>/build_config/opencore_dynamic
source setup.sh <opencore>
make -j
This will build all the required libraries in
<opencore>/build_config/opencore_dynamic/build/installed_lib/linux
and the executables in
<opencore>/build_config/opencore_dynamic/build/bin/linux.
意思很简单,就是到build_config/opencore_dynamic目录下运行setup.sh 然后运行make -j。
这里有个问题,如果在32位的操作系统上,这样做是能运行成功的,如果在64位系统上,会出现以下的错误:
“error: cast from 'OsclAny*' to int32 loses precision” 这是因为编译器是编译成了64位的,解决的办法是采用32位的编译器。
如果你是要移植到你自己的linux嵌入式设备上,那么就需要改一些内容了。
1,export ARCHITECTURE=XXXX (例如 linux_arm)。
2,在tools_v2/build/make/platforms目录下,加上XXXX.mk这里的XXXX必须和上一条的一致。然后在XXXX.mk里面加上对应的内容,主要就是交叉编译器的命令,具体的可以参考tools_v2/build/make/platforms/linux_arm.mk的内容。
3,在oscl/oscl/oscl/config/目录下,添加XXXX文件夹,然后把oscl/oscl/oscl/config/linux下的内容copy进去,然后做相应的更改。
4,然后make -j就行。