There are some problems in building berleley db applications, pls
give me some helps, thanks very much.
The environment is:
WinXp sp2
Workbench 2.5, VxWorks 6.3
Berkeley DB 4.5.20
First, I import the berkeley db project like this:
choose "Import" item in the right menu of the Project Navigator;
choose "Migrate Tornado VxWorks 5.x project to VxWorks 6.x";
choose "db-4.5.20\build_vxworks\BerkeleyDB22.wpj" as the projec file.
Second, I create some other projects to coperate with the berkeley db
project, the projects structure is:
VxWorks Image Project
==ROMFS File System Project
====Real Time Process Project
======Shared Library Project (Berkeley DB)
e.g., the ROMFS File System Project is a subproject of the VxWorks
Image Project.
At last, compiling berkeley db is succesffully done, but errors occur
during linking the berkeley db .so file with the real time
process .vxe file, error messages are:
C:/WindRiver/workspace/BerkeleyDB22/SIMPENTIUMgnu_RTP_DEBUG/
BerkeleyDB22.so: undefined reference to `taskLock'
C:/WindRiver/workspace/BerkeleyDB22/SIMPENTIUMgnu_RTP_DEBUG/
BerkeleyDB22.so: undefined reference to `taskUnlock'
C:/WindRiver/workspace/BerkeleyDB22/SIMPENTIUMgnu_RTP_DEBUG/
BerkeleyDB22.so: undefined reference to `iosDevFind'
After reading the Workbench 2.5 user guide and some other documents, I
know that,
1) only real time process can use shared library in romfs.
2) taskLock and taskUnlock are kernel apis, can't be used in real time
process; but i find taskRtpLock and taskRtpUnlock intead.
3) iosDevFind is a kernel api too, but i can't find another api to use
in real time process.


|