簡體   English   中英

Cocoapods OpenCV 2.4.10鏈接器錯誤

[英]Cocoapods OpenCV 2.4.10 Linker Error

我正在嘗試使用OpenCV 2.4.10構建一個簡單的項目,但是我得到了一堆這樣的錯誤:

Undefined symbols for architecture x86_64:
  "_jpeg_free_large", referenced from:
      _free_pool in opencv2(jmemmgr.o)
  "_jpeg_free_small", referenced from:
      _free_pool in opencv2(jmemmgr.o)
      _self_destruct in opencv2(jmemmgr.o)

這是ViewController.m

#import "ViewController.h"
#import <opencv2/opencv.hpp>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    cv::Mat greyMat;
}

Podfile

platform :ios, '8.1'

pod 'OpenCV', '2.4.10'

當我使用2.4.9.1或2.4.9版時,Project構建得很好。
我還能夠使用從podspec 2.4.10中找到的URL下載的框架文件構建此項目。

錯誤4052仍未解決2.4.10並且沒有2.4.11的pod,所以你必須使用2.4.9 IMO是穩定的。

如果你使用pods

pod 'OpenCV', '2.4.9'

所以這里有一點解決方法。 問題是因為XCode項目無法鏈接到libjpeg.a庫。 這就是為什么在編譯項目時出現上述錯誤的原因。

跟着這些步驟 :

  1. 轉到:[[ http://sourceforge.net/projects/libjpeg-turbo/files/1.4.0/]]並下載libjpeg-turbo-1.4.0.dmg(3.8 MB)文件。
  2. 安裝包。 完成后,您將在此路徑下找到已安裝的文件: / opt / libjpeg-turbo / lib
  3. 打開終端並輸入以下命令: lipo -info /opt/libjpeg-turbo/lib/libjpeg.a
  4. 如果終端在運行命令后顯示以下輸出,則意味着,您可以將該庫用於您的iOS項目(armv7 / armv7s)
    • 胖文件中的體系結構:/opt/libjpeg-turbo/lib/libturbojpeg.a是:i386 x86_64 armv6 armv7 armv7s arm64 *
  5. 使用finder導航到:/ opt / libjpeg-turbo / lib並復制libjpeg.a並將其放在項目文件夾中。
  6. 轉到你的XCode項目 - >點擊Project Name - > Targets - > General - > Linked frameworks and libraries - >點擊底部的添加按鈕 - >包含libjpeg.a文件
  7. 編譯項目。 它不應該再顯示libjpeg鏈接器錯誤。

似乎是當前版本的Open CV for iOS的一個問題

Bug#4052

可能必須繼續使用2.4.9。

我沒有這方面的解決方案,但我有一個解決方法。我從這里下載了項目。 並將此項目的框架和標題復制到我的項目中。 在此輸入圖像描述

我已經將新版本的OpenCV添加到CocoaPods(2.4.11,2.4.12,2.4.12.3,3.0.0)。

2.4.11,2.4.12和2.4.12.3需要鏈接libjpeg,所以現在pod實際上下載了repo,從源代碼編譯,然后除了opencv2.framework文件之外還鏈接libjpeg。 現在通過CocoaPods開箱即用,但是在進行pod install時需要一段時間,因為它是從源代碼編譯的。 只是確保在它執行時不取消它(CocoaPods中的一個錯誤會導致問題,如果它被取消)。

在引擎蓋下,3.0.0與之前的opencv2.framework文件一樣工作,現在可以通過CocoaPods安裝得很好。

版本2.4.10在CocoaPods中仍然被破壞,但由於該版本在我的機器上從源代碼編譯時會拋出錯誤,所以我無能為力。

(注意:我不是pod的原始維護者,我只貢獻了這些新版本。)

我在開放式簡歷中面臨同樣的問題,並在下面找到了一個有用的鏈接,解決了我的項目錯誤:

http://blog.csdn.net/iOSLearner_Nana/article/details/45174365

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM