[请教]vxworks6.7上移植ACE-TAO2.0的问题
【过程】
最近项目上需要在vxworks6.7上移植ACE-TAO。在网上找到一篇介绍vxworks6.6上的移植文章《在windows下交叉编译用于vxworks6.6的ACE+TAO》,方法大概是:
1)下载ACE-TAO2.0(含源码和makefile相关文件),根目录下执行命令mwc.pl -static -type vc10 TAO_ACE.mwc,生成VS2010版的sln工程,然后编译其中的TAO_IDL_EXE相关项目(共5个)。
2)在VS2010命令工具上,打开VxWorks development shell(运行WindRiver67\wrenv.exe -p vxworks-6.7命令),
利用mwc.pl -type gnuace生成所有makefile文件。
3)最后make。
【Bug】
make完成后,生成了lib库和测试例程的vxe文件,测试命名服务中的Messengerclient.vxe,烧写至目标板文件系统上,启动该进程,却立刻又被停止删除。提示信息: “RTP 0x2763010 has been deleted due to signal 11”。过程如下。
在shell上执行如下命令:
->
-> cmd
[vxWorks *]#
[vxWorks *]# MessengerClient.vxe -ORBInitRef NameService=corbaloc:iiop:192.168.0.2:12345/NameService
Launching process 'MessengerClient.vxe' ...
Process 'MessengerClient.vxe' (process Id = 0x2763010) launched.
0x2765420 (iMessengerClient): RTP 0x2763010 has been deleted due to signal 11.
【】
于是打算在wind river workbench的IDE上调试一下,将MessengerClient的几个源文件建立RTP工程,设置include lib目录,设置
宏DEFINES为 -DACE_VXWORKS=0x670 -DACE_HAS_PTHREADS -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -fno-strict-aliasing -DNDEBUG -DACE_NDEBUG -D__ACE_INLINE__ -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS。
然后编译链接工程。
各cpp文件可以通过编译,但在连接目标文件时,出现如下问题:
在ACE_TMAIN(int argc, ACE_TCHAR *argv[]) 行提示存在如下 error:
this declaration has no storage class or type specifier
最近几天一直在折腾这几个问题,搞不定啊。请高手指点,谢谢~