linux下编译opendds,求教OpenDDS的交叉编译!
本帖最后由 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)
如果有遺漏的,你就需要從源服務器上復制過來。
通常這樣就可以了。 你有問題的話,再來問
總結
以上是生活随笔為你收集整理的linux下编译opendds,求教OpenDDS的交叉编译!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android从无知到有知——NO.7
- 下一篇: linux下编译opendds,Linu