一、在windml-5.3的目录对应添加以下文件
components\windml-5.3\config\wrmdb\windML_GRP_DEVICE_XXX.wrmdb
components\windml-5.3\config\makefiles\grp_XXX.makefile
components\windml-5.3\src\ugl\driver\graphics\TESTXXX\libXXX.a
配置文件文件说明
1. windML_GRP_DEVICE_XXX.wrmdb是界面配置文件
A. 文件名可以随便写,保留扩展名即可
B. windML_GRP_DEVICE_XXX.wrmdb文件中NAME后面的值("TEST Graphics Device")就是界面中显示的名字
2. grp_XXX.makefile是编译文件
3. libXXX.a 显卡的静态库文件
如果文件夹不存在可以创建,但是文件路径需要和grp_XXX.makefile中的文件路径保持一致。
二、在vxworks6.9中编译windml-5.3库
1. 创建DKM工程
2. 为DKM工程添加windml组件配置
3. 编译windml工程
直接rebuild对应的DKM工程,编译完成后生成以下静态库文件
C:\WindRiver\workspace\obj\vxworks-6.9\krnl\lib\simpc\SIMNT\common有一个库文件
libwindml-5.3_dyn.a
C:\WindRiver\components\obj\vxworks-6.9\krnl\lib\simpc\SIMNT\common有5个库文件
libwindml-5.3.a\libwindml-5.3egl.a\libwindml-5.3gl.a
libwindml-5.3glu.a\libwindml-5.3glut.a
注意:编译VIP工程添加了WINDML组件的中记得链接这里生成的静态库文件,否者可能会报ugl相关的函数没有定义(右键项目属性 ->Build Properties->Variables选择中的LIBS中的Value后面添加对应的库即可)
如果没有添加-lwindml5.3_dyn -lwindml5.3 -lwindml5.3egl -lwindml5.3glu -lwindml5.3glut
可能会报以下错误
prjConfig.o: In function `uglTimerMergeHoldingList':
prjConfig.c:(.text+0x185b): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x1873): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x1895): undefined reference to `uglListNext'
prjConfig.c:(.text+0x18b8): undefined reference to `uglListRemove'
prjConfig.c:(.text+0x18c8): undefined reference to `uglListInsert'
prjConfig.o: In function `uglTimerCancel':
prjConfig.c:(.text+0x18f8): undefined reference to `uglOSLock'
prjConfig.c:(.text+0x190f): undefined reference to `uglListRemove'
prjConfig.c:(.text+0x191b): undefined reference to `uglOSUnlock'
prjConfig.o: In function `uglTimerDeInit':
prjConfig.c:(.text+0x19ad): undefined reference to `uglOSLock'
prjConfig.c:(.text+0x19c3): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x19dd): undefined reference to `uglListNext'
prjConfig.c:(.text+0x19f4): undefined reference to `uglListDestroy'
prjConfig.c:(.text+0x1a01): undefined reference to `uglListDestroy'
prjConfig.c:(.text+0x1a0e): undefined reference to `uglOSUnlock'
prjConfig.c:(.text+0x1a1a): undefined reference to `uglOSLockDelete'
prjConfig.o: In function `uglTimerInit':
prjConfig.c:(.text+0x1a37): undefined reference to `uglListCreate'
prjConfig.c:(.text+0x1a41): undefined reference to `uglListCreate'
prjConfig.c:(.text+0x1a4b): undefined reference to `uglOSLockCreate'
prjConfig.c:(.text+0x1a85): undefined reference to `uglOSTaskCreate'
prjConfig.o: In function `usrWindMlInit':
prjConfig.c:(.text+0x1ad9): undefined reference to `uglIoDrvInit'
prjConfig.o: In function `uglTimerStart':
prjConfig.c:(.text+0x1b20): undefined reference to `uglOSTimeStamp'
prjConfig.c:(.text+0x1b8d): undefined reference to `uglOSLock'
prjConfig.c:(.text+0x1b9b): undefined reference to `uglListAdd'
prjConfig.c:(.text+0x1ba7): undefined reference to `uglOSUnlock'
prjConfig.o: In function `uglTimerForce':
prjConfig.c:(.text+0x1cb8): undefined reference to `uglOSLock'
prjConfig.c:(.text+0x1cc5): undefined reference to `uglOSTimeStamp'
prjConfig.c:(.text+0x1cdc): undefined reference to `uglOSUnlock'
prjConfig.o: In function `uglTimerCheck':
prjConfig.c:(.text+0x1d11): undefined reference to `uglOSLock'
prjConfig.c:(.text+0x1d27): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x1d31): undefined reference to `uglOSTimeStamp'
prjConfig.c:(.text+0x1d79): undefined reference to `uglListNext'
prjConfig.c:(.text+0x1daa): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x1dc5): undefined reference to `uglListNext'
prjConfig.c:(.text+0x1dfa): undefined reference to `uglListFirst'
prjConfig.c:(.text+0x1e0f): undefined reference to `uglOSUnlock'
make.exe[1]: *** [vxWorks] Error 1