sdk編譯oscam
⑴ 如何使用 sdk交叉編譯ros
使用ros_qtc_plugin插件新建項目
使用插件新建項目Import ROS
Workspace選項僅新建工作空間導入現工作空間新建文件ROS面Package、Basic
Node等選項創建package節點、launch文件、urdf文件等
現我創建新catkin工作空間,並且面創建package
1、新建項目
文件——新建文件或項目選擇Import ROS Workspace——choose圖
填寫catkin工作空間名字位置圖
我Namecatkin工作空間文件夾名字相同(同)名catkin_new選擇瀏覽——創建文件夾創建名catkin_new文件夾圖按車再選擇打
現框詢問新建工作空間未初始化否執行初始化我選擇yes
相於執行catkin_init_workspace命令使工作空間初始化
點擊Generate Project File再點擊步
項目管理步驟配置版本控制系統我選擇完圖
建工作空間catkin_new空圖
2、創建package
接我工作空間創建新package
catkin_new面src右鍵單擊選擇添加新文件圖
選擇ROS——package——choose
填寫package名字test1
填寫作者(Authors)維護者(Maintainers)Qt環境部沒配置文支持請要用文否則新建package或者新建package面package.xml空文件
DependenciesCatkin欄填寫依賴通用C++寫節點需要添加roscpp依賴
圖
點擊完
3、添加新節點
目前package空沒任何節點
我test1src文件夾右鍵單擊選擇添加新文件
選擇ROS——Basic Node——choose創建節點新建.cpp文件
節點名稱寫node1則名node1.cpp源文件
用ROS模板新建node1.cpp源文件圖自Hello World程序
4、編譯節點
讓編譯執行文件我需要編輯test1makefile圖
test1CMakeLists.txt加面幾行意思node1.cpp編譯名node1節點
add_executable(node1 src/node1.cpp)
target_link_libraries(node1
${catkin_LIBRARIES}
)
⑵ ubuntu12.10下digilent開發板sdk中的samples編譯問題
提一下檢查方向,僅供參考。
1,digilent.adept.sdk是裝安在系統默認的目錄了嗎?
2,~/桌面/學習是中文目錄,有沒有移動不帶中文的目錄試一下。
3,makefile一般是經過,./configure跟據你的環境自動生成的,
測試時執行過./configure嗎?
⑶ android sdk多個版本 編譯用哪個
永遠只用最新的SDK版本,這是Google官方強烈建議的。開發者的app能運行的Android版本不是由SDK決定的,是由每一個項目的minSDK決定的。SDK都是向下兼容的。SDK在不斷改進中,新的SDK會提供更強大開發工具,而且用4.0的SDK編譯的2.1的apk的執行效率會比用2.1的SDK編譯的更高。
至於每個app應該用什麼minSDK ,應該根據應用具體的API來,如果app沒有用到1.6以上SDK新提供的API,那麼用1.6會在提供相同體驗下反而會比2.1兼容更多機型.
附谷歌原版建議:
In order to provide the best user experience on the latest devices, we recommend that you use the latest platform version as your build target. You'll still be able to run your app on older versions, but you must build against the latest version in order to use new features when running on devices with the latest version of Android.To get started, download the latest Android version, plus the lowest version you plan to support (we recommend Android 2.2 for your lowest version).
⑷ 編譯的時候找不到 SDK庫中的頭文件怎麼辦
一,引入第三方sdk時找不到頭文件問題:
我在mac mini,Xcode6.x的環境下引入了第三方SDK,同Xcode自帶的framework同放在工程的Frameworks路徑下,想在代碼中使用第三方SDK時發現找不到,而系統的framework卻能夠找到,解決辦法:
在Build Settings里搜索Search Paths 發現裡面Library Search Paths 中沒有生成剛引進的SDK路徑,自己手動添加上去(系統自帶的framework不需要添加),將裡面Library
Search Paths 中沒有用到的地址刪除,如圖:framework5是引入的第三方:
再回頭看,是否能夠引用到了第三方的庫,如果還沒有,那麼將你第三方SDK對應的framework5放到最外層文件夾,再對應的重新定位Framework Search Paths,能夠找到了吧!
二:好了,頭文件找到了,coding。。。然後編譯運行,發現報錯「_OBJC_CLASS_$_某文件名", referenced from:xx 」;
出這個錯是因為Xcode沒能自動把「_OBJC_CLASS_$_某文件名", referenced from:xx 」中的「 某文件名 」編譯進去,又需要手動去弄了,實現的部分可以是。framwork也可以是源碼文件,解決辦法,打開Project Target-》Build Phases,將「某文件」 拖到對應的位置,(如果是源碼文件拖到Compile Sources,如果是在。framework中,則將framework拖到Lind Binary With Libraries),如圖:
再編譯,如果再報錯,
1,那麼再閱讀你所使用的第三方SDK文檔,有的引入需要依賴於系統的framework,請按照說明將Xcode自帶的framework引入即可;
2,還有一種可能,靜態庫一般有兩個,一個真機調用的,一個模擬器調用的。在真機調試時使用模擬器專用的庫或反之都會報錯,你可以將它們編譯成真機和模擬器都能使用的靜態庫,方法這里不細說。
⑸ 如何編譯hi3520d sdk
第一章 Hi3520D_SDK_Vx.x.x.x版本升級操作說明
如果您是首次安裝本SDK,請直接參看第2章。
第二章 首次安裝SDK
1、hi3520D SDK包位置
在"hi3520D_V100R001***/01.software/board"目錄下,您可以看到一個 hi3520D_SDK_Vx.x.x.x.tgz 的文件,
該文件就是hi3520D的軟體開發包。
2、解壓縮SDK包
在linux伺服器上(或者一台裝有linux的PC上,主流的linux發行版本均可以),使用命令:tar -zxf hi3520D_SDK_Vx.x.x.x.tgz ,
解壓縮該文件,可以得到一個hi3520D_SDK_Vx.x.x.x目錄。
3、展開SDK包內容
返回hi3520D_SDK_Vx.x.x.x目錄,運行./sdk.unpack(請用root或sudo許可權執行)將會展開SDK包打包壓縮存放的內容,請按照提示完成操作。
如果您需要通過WINDOWS操作系統中轉拷貝SDK包,請先運行./sdk.cleanup,收起SDK包的內容,拷貝到新的目錄後再展開。
4、在linux伺服器上安裝交叉編譯器
1)安裝uclibc交叉編譯器(注意,需要有sudo許可權或者root許可權):
進入hi3520D_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100nptl-linux目錄,運行chmod +x cross.install,然後運行./cross.install即可。
2) 安裝glibc交叉編譯器(注意,需要有sudo許可權或者root許可權,暫時不支持glibc版本):
進入hi3520D_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv200-linux目錄,運行chmod +x cross.install,然後運行./cross.install即可。
3) 執行source /etc/profile, 安裝交叉編譯器的腳本配置的環境變數就可以生效了,或者請重新登陸也可。
5、編譯osdrv
參見osdrv目錄下readme
6、SDK目錄介紹
hi3520D_SDK_Vx.x.x.x 目錄結構如下:
|-- sdk.cleanup # SDK清理腳本
|-- sdk.unpack # SDK展開腳本
|-- osdrv # 存放操作系統及相關驅動的目錄
| |-- busybox # busybox源代碼
| |-- drv # drv源代碼
| |-- kernel # linux內核源代碼
| |-- pub # 編譯好的鏡像、工具、drv驅動等
| |-- rootfs_scripts # rootfs源代碼
| |-- toolchain # 交叉編譯器
| |-- tools # linux工具源代碼
| |-- uboot # uboot源代碼
| `-- Makefile # osdrv Makefile
|-- package # 存放SDK各種壓縮包的目錄
| |-- osdrv.tgz # linux內核/uboot/rootfs/tools源碼壓縮包
| |-- mpp.tgz # 媒體處理平台軟體壓縮包
| `-- image # 可供FLASH燒寫的映像文件,如內核、根文件系統
|-- scripts # 存放shell腳本的目錄
|-- mpp # 存放媒體處理平台的目錄
|-- component # 組件源代碼
|-- extdrv # 板級外圍驅動源代碼
|-- include # 對外頭文件
|-- ko # 內核模塊
|-- lib # release版本庫以及音頻庫
|-- tools # 媒體處理相關工具
`-- sample # 樣例源代碼
第三章、安裝、升級hi3520DDEMO板開發開發環境
# 如果您使用的hi3520D的DEMO板,可以按照以下步驟燒寫u-boot,內核以及文件系統,以下步驟均使用網路來更新。
# 通常,您拿到的單板中已經有u-boot,如果沒有的話,就需要使用模擬器進行燒寫。
# 更詳細的操作步驟及說明,請參見01.software\board\documents目錄下的《Linux開發環境用戶指南》。
# 以下操作假設您的單板上已經有u-boot,使用網口燒寫uboot、kernel及rootfs到Flash中。
# Demo單板默認為從SPI Flahs啟動。
1、配置tftp伺服器
# 可以使用任意的tftp伺服器,將package/image_uclibc(或image_glibc)下的相關文件拷貝到tftp伺服器目錄下。
2、參數配置
# 單板上電後,敲任意鍵進入u-boot。設置serverip(即tftp伺服器的ip)、ipaddr(單板ip)和ethaddr(單板的MAC地址)。
setenv serverip xx.xx.xx.xx
setenv ipaddr xx.xx.xx.xx
setenv ethaddr xx:xx:xx:xx:xx:xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
ping serverip,確保網路暢通。
3、燒寫映像文件到SPI Flash
以16M SPI Flash為例。
1)地址空間說明
| 1M | 4M | 11M |
|---------------|---------------|---------------|
| boot | kernel | rootfs |
以下的操作均基於圖示的地址空間分配,您也可以根據實際情況進行調整。
2)燒寫u-boot
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3520D.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset
3)燒寫內核
mw.b 82000000 ff 400000
tftp 82000000 uImage_3520d
sf probe 0
sf erase 100000 400000
sf write 82000000 100000 400000
4)燒寫文件系統
mw.b 82000000 ff b00000
tftp 0x82000000 rootfs_3520d_64k.jffs2
sf erase 500000 b00000
sf write 82000000 500000 b00000
5)設置啟動參數
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
sa
4、啟動新系統
reset # 重啟進入新系統。
第四章、開發前環境准備
1、管腳復用
與媒體業務相關的管腳復用都在mpp/ko_hi3520D目錄下的sh腳本中配置,如果與實際情況不符請直接修改,此腳本被load3520D調用,在載入mpp內核模塊之前被執行;
mpp之外的其他管腳復用統一在uboot中配置,詳細說明請參見《U-boot移植應用開發指南》。
第五章、使用SDK和DEMO板進行開發
1、開啟Linux下的網路
# 設置網路
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx;
ifconfig eth0 xx.xx.xx.xx netmask xx.xx.xx.xx;
route add default gw xx.xx.xx.xx
# 然後ping一下其他機器,如無意外,網路將能正常工作。
2、使用NFS文件系統進行開發
# 在開發階段,推薦使用NFS作為開發環境,可以省去重新製作和燒寫根文件系統的工作。
# 掛載NFS文件系統的操作命令:
mount -t nfs -o nolock -o tcp xx.xx.xx.xx:/your-nfs-path /mnt
# 然後就可以在/mnt目錄下訪問伺服器上的文件,並進行開發工作。
3、開啟telnet服務
# 網路正常後,運行命令 telnetd& 就可以啟動單板telnet服務,然後才能使用telnet登錄到單板。
4、運行MPP業務
# 在單板linux系統下,進入mpp/ko目錄,載入KO
cd mpp/ko
./load3520D -i
# 進入各sample目錄下執行相應樣常式序(sample需要先在伺服器上成功編譯過)
cd mpp/sample/vio
./sample_vio 0
第六章 地址空間分配與使用
1、DDR內存管理說明
1)所有DDR內存中,一部分由操作系統管理,稱為OS內存;另一部分由MMZ模塊管理,供媒體業務單獨使用,稱為MMZ內存。
2)OS內存起始地址為0x80000000,內存大小可通過bootargs進行配置,例如第三章中的setenv bootargs 'mem=64M ... ',表示分配給操作系統內存為64M,您可以根據實際情況進行調整。
3)MMZ內存由MMZ內核模塊管理(mpp/ko_hi35xx目錄下的mmz.ko),載入mmz模塊時,通過模塊參數指定其起始地址及大小,例如:
insmod mmz.ko mmz=anonymous,0,0x84000000,186M:jpeg,0,0x8fa00000,5M anony=1 || report_error
表示mmz兩塊區域,區域一的名稱為anonymous,起始地址為0x84000000,大小為186M;區域二的名稱為jpeg,起始地址為0x8fa00000,大小為5M。
您可以通過修改mpp/ko_hi35XX目錄下load3520D腳本中的mmz模塊參數,來修改其起始地址和總大小。
4)請注意MMZ內存地址范圍不能與OS內存重疊。
2、DEMO板DDR內存管理示意
1) 以容量為256MBytes的DDR內存為例,以下為根據本文檔和SDK默認配置得到的內存管理示意圖:
DDR:
-----|-------| 0x80000000 # Memory managed by OS.
64M | OS |
| |
-----|-------| 0x84000000 # Memory managed by MMZ block anonymous.
187M | MMZ |
| |
-----|-------| 0x8fa00000 # Memory managed by MMZ block jpeg.
5M | |
| |
-----|-------| 0x8ff00000 # Not used.
1M | |
| |
-----|-------| 0x90000000 # End of DDR.
注意:
(1)用戶在配置啟動參數時需要設置OS的管理內存為64M,「setenv bootargs 'mem=64M ...」。
(2)系統啟動後,配置load3520D的腳本中mmz的管理內存為191M,「insmod mmz.ko mmz=anonymous,0,0x84000000,186M:jpeg,0,0x8fa00000,5M anony=1 || report_error」。
⑹ iphone應用程序只能用object-c開發嗎,用c++寫的程序能通過處理在蘋果的sdk上編譯嗎
由於iphone SDK都是需要使用Objective-C的語法調用,所以不能完全不用Obj-c. 另外,現在也沒有針對iphone SDK的C++編譯器。倒是有人在開發java編譯器for iphone。xcode底層使用GCC編譯器編譯Obj-C,可以識別標準的C函數與語法。如果你能找到代替UIKit以及foundation的類庫,應該也可以試試。
另外來看看蘋果新版的iPhone軟體開發協議:
應用程序僅能以蘋果描述的形式使用SDK中提供的官方API,不能使用或調 用任何私有API。應用程序需原生使用Objective-C、C、C++語言編寫,或由iPhone OS WebKit引擎執行JavaScript代碼。只有以C、C++和Objective-C語言編寫的代碼可以編譯並直接鏈接到官方API(禁止應用程序 通過中間解釋程序或兼容層、工具調用官方API)。
也即是說,蘋果已經封堵了這道門。
⑺ 微信sdk,真機編譯成功,模擬器編譯失敗,怎麼回事
用apktool重新打包,再用apksign簽名。 你上面那些是資源沒辦法反匯編,沒事的。 重新打包的時候,資源手動加入。
⑻ 微信sdk,真機編譯成功,模擬器編譯失敗,怎麼回事
如何使用真機調試應用程序在開發android應用程序的時候有時候開發不得不採用真機調... 真機調試的最需要解決的是真機與電腦連接的問題一旦成功連接之後其實與模擬器調
⑼ sdk 編譯器 之間關系
SDK,即軟體開發包,裡面一般包含有編譯器和編譯時需要的支持庫。(有時候不一定有編譯器)
Symbian平台的開發,我沒做過。VC,我們看到的界面,只是一個編輯窗口,編譯的時候,它會調用相關的編譯器,並使用某些設定的編譯參數。我猜測如下:
Symbian的軟體包里,應該帶有編譯器和相關的支持庫,並且在安裝的時候,它會修改VC的配置文件,使得其中關於Symbian的工程,調用自帶的編譯器和自設的參數來編譯程序。
⑽ 我裝好了evc++4.0,然後裝自己板的SDK時,在evc里看不到有SDK的編譯器
體會讓他給你提供方如何你發給他
