是编程/软件的初学者。我正在尝试将一些为linux编写的代码移植到我的vxworks项目中。
当包含p线程.h时,它似乎包含了来自C:\WindRiver\vxworks-6.8\target\h的头,但是我注意到,C:\WindRiver\vxworks-6.8\target\usr\h中还有另一个标题,这有点不同。
区别的一个例子是它们中的一个不存在函数pthread_mutexattr_settype。根据v6.8文档,pthread_mutexattr_settype是我应该访问的函数。
也许我的道路设置错了?我是否需要为我的项目做一些特别的事情来知道该去哪里?当我更新到usr文件夹的构建路径时.当我右击并打开声明时,它给了我两个选项来选择(两个位置)。是的,我在我的构建路径中只有一个位置。
发布于 2014-02-08 19:07:57
阅读文档总是很好的第一步。
只有在使用实时过程项目时,VxWorks才符合POSIXPSE5.2。这就是.头指向。
如果您正在构建一个内核模块(DKM),那么一些POSIX接口是可用的,但显然不是您想要的端口。
所以,使用RTP是您想要移植您的代码。
请参阅VxWorks应用程序程序员指南。第3.4.2节(VxWorks 6.9)明确指出,目标/usr/h是用于RTP的系统头文件。并提醒您不要在目标值/h中引用头文件。
参见关于POSIX支持的第9节。
https://stackoverflow.com/questions/21637777
复制相似问题