[英]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下載的框架文件構建此項目。
所以這里有一點解決方法。 問題是因為XCode項目無法鏈接到libjpeg.a庫。 這就是為什么在編譯項目時出現上述錯誤的原因。
跟着這些步驟 :
我沒有這方面的解決方案,但我有一個解決方法。我從這里下載了項目。 並將此項目的框架和標題復制到我的項目中。
我已經將新版本的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.