我的目標是編譯與該armv7s支持IOS的OpenCV(在S是最困難的部分)架構,但一直未能取得任何進展。我最近的理論是,問題是隨庫提供的cmake文件使用gcc作爲編譯器,我不認爲支持armv7s(如果我錯了,請告訴我)。然而,我對cmake完全陌生,一直無法改變編譯器。
我懷疑編譯器的原因是因爲該行
set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_BIT)" CACHE string "Build architecture for iOS")
其中據我所知應該包括armv7s的。將該行更改爲
set (CMAKE_OSX_ARCHITECTURES "armv6;armv7;armv7s;i386" CACHE string "Build architecture for iOS")
沒有效果。
我知道有關於如何設置編譯器here,here和here的解釋。我的問題是,我正在嘗試更改現有的cmake系統,不知道我的更改可能具有哪些後果。有關的代碼可以下載here。要建立我的OpenCV-2.4.2運行python腳本框架/ IOS
python build_framework.py ~/Desktop
從我可以告訴相關cmake的文件位於OpenCV的-2.4.2/IOS/cmake的。只有3個,都很短。我最近一次嘗試是在工具鏈
CMAKE_FORCE_C_COMPILER (gcc gcc)
CMAKE_FORCE_CXX_COMPILER (g++ g++)
改變兩行
SET (DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer")
SET (CC "${DEVROOT}/usr/bin/llvm-gcc-4.2")
SET (CXX "${DEVROOT}/usr/bin/llvm-g++-4.2")
CMAKE_FORCE_C_COMPILER (${CC} CLang)
CMAKE_FORCE_CXX_COMPILER (${CXX} CLang)
,企圖複製this SO問題。
問題
- 我的第一個也是最重要的問題是,如果這是我的深度。我一直認爲改變編譯器/目標體系結構是一個簡單的標誌設置,但我越來越不相信這是真的。另外,還有一個完整的目錄OpenCV-2.4.2/cmake,它包含了更大的cmake文件,我一直在避免希望我不需要擔心它們的內容。這是一個問題,我可以在不到10個小時內解決問題嗎?
- 如果您對上一個問題回答「是」,您可以給我任何指示嗎?建議閱讀?我有理由忽略OpenCV-2.4.2/cmake的內容嗎?我在黑暗中拍攝了一段時間,但沒有成功。
- 如果事實證明這很簡單,我最初希望如何做?
更新
我始終沒弄清楚如何做到這一點,但庫here從中編譯設置,可以很容易地改變一個Xcode版本。
是的,它完全建立與gcc和g ++ – Hammer
我把設置的ARMv7(CMAKE_C_COMPILIER「LLVM-GCC- 4.2「)設置(CMAKE_CXX_COMPILIER」llvm-g ++ - 4.2「)在我認爲是cmake入口點的開頭。它運行時沒有錯誤,但對OpenCV 2.4.2顯示的常規配置沒有影響。 gcc和g ++仍然是編譯器 – Hammer
你是指工具鏈文件嗎? – dreamzor