免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5701 | 回复: 1
打印 上一主题 下一主题

[其他] 求教OpenDDS的交叉编译! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-18 09:41 |只看该作者 |倒序浏览
不知道还有没有用OpenDDS的筒子。最近需要用到这个,而且还是嵌入式应用,不知道如何交叉编译OpenDDS。
我的HOST系统是RedHat 6.3,TARGET系统也是linux,交叉编译工具是arm-linux-gcc或者arm-linux-g++
知道的麻烦来指导一下,不知道的欢迎来讨论讨论!
谢谢啦!

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2014-05-02 11:00 |只看该作者
本帖最后由 rdcwayx 于 2014-05-02 11:01 编辑

opendds 不是太了解。 你先看看这些资料是否有参考的价值。

http://sourceforge.net/p/opendds/support-requests/16/
http://sourceforge.net/p/opendds/feature-requests/3/

如果都是linux系统,在一个服务器上编译,而又要在另一台服务器上使用的话,我自己通常的做法是,

1) 先要找出该应用的所有依赖应用或者库文件( Dependencies ), 请参考这个:

http://www.opendds.org/building.html
也就是说有三个Dependencies: TAO, gnu make, perl
安装TAO也要找到其Dependencies, 就这样你要一路找下去,直到最后再没有Dependencies了。

从最底层的需求开始编译。 当然linux系统的编译要容易些。你可以用rpm直接安装。

2)在本机编译,正常安装后,找出所有的安装文件,做成一个tar文件,比如我通常编译安装到/opt/opendds 这个目录,直接将这个目录打包。 如果有扩展的lib文件在/usr 或者/var 下面,先不用管它们。

3)将该包扩展到目标服务器。

4) 手工运行 ldd 命令,找出遗失的lib 文件。我手上没有环境,就用CYGWIN举例。

$ ldd setup-x86.exe
        ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
        kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
        SYSFER.DLL => /cygdrive/c/WINDOWS/System32/SYSFER.DLL (0x65240000)
        UMEngx86.dll => /cygdrive/c/Documents and Settings/All Users/Application Data/Symantec/Symantec Endpoint Protection/12.1.2015.2015.105/Data/Definitions/BASHDefs/20140409.011/UMEngx86.dll (0x69930000)
        ADVAPI32.dll => /cygdrive/c/WINDOWS/system32/ADVAPI32.dll (0x77dd0000)
        RPCRT4.dll => /cygdrive/c/WINDOWS/system32/RPCRT4.dll (0x77e70000)
        Secur32.dll => /cygdrive/c/WINDOWS/system32/Secur32.dll (0x77fe0000)
        COMCTL32.DLL => /cygdrive/c/WINDOWS/WinSxS/x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202/COMCTL32.DLL (0x773d0000)
        msvcrt.dll => /cygdrive/c/WINDOWS/system32/msvcrt.dll (0x77c10000)
        GDI32.dll => /cygdrive/c/WINDOWS/system32/GDI32.dll (0x77f10000)
        USER32.dll => /cygdrive/c/WINDOWS/system32/USER32.dll (0x7e410000)
        SHLWAPI.dll => /cygdrive/c/WINDOWS/system32/SHLWAPI.dll (0x77f60000)
        ole32.dll => /cygdrive/c/WINDOWS/system32/ole32.dll (0x774e0000)
        PSAPI.DLL => /cygdrive/c/WINDOWS/system32/PSAPI.DLL (0x76bf0000)
        SHELL32.DLL => /cygdrive/c/WINDOWS/system32/SHELL32.DLL (0x7c9c0000)
        WININET.DLL => /cygdrive/c/WINDOWS/system32/WININET.DLL (0x3d930000)
        Normaliz.dll => /cygdrive/c/WINDOWS/system32/Normaliz.dll (0x3e0000)
        urlmon.dll => /cygdrive/c/WINDOWS/system32/urlmon.dll (0x78130000)
        OLEAUT32.dll => /cygdrive/c/WINDOWS/system32/OLEAUT32.dll (0x77120000)
        iertutil.dll => /cygdrive/c/WINDOWS/system32/iertutil.dll (0x3dfd0000)
        WSOCK32.DLL => /cygdrive/c/WINDOWS/system32/WSOCK32.DLL (0x71ad0000)
        WS2_32.dll => /cygdrive/c/WINDOWS/system32/WS2_32.dll (0x71ab0000)
        WS2HELP.dll => /cygdrive/c/WINDOWS/system32/WS2HELP.dll (0x71aa0000)

如果有遗漏的,你就需要从源服务器上复制过来。

通常这样就可以了。 你有问题的话,再来问
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP