[英]ObjCMongoDB broken? I can't get it to work
所以現在你知道你正在處理什么。 小心翼翼。 沒有突然的動作。
我正在寫一個與Mac服務器對話的iPad應用程序。 我想使用MongoDB作為后端,而ObjCMongoDB看起來非常合適,但我不能使用這里的說明來使用它:
https://github.com/noa--/ObjCMongoDB/wiki/GettingStarted
我的重復步驟:
從gitHub上的主要ObjCMongoDB頁面,單擊“在Mac中克隆”(我正在使用GitHub for Mac來處理下載)
從命令行,導航到ObjCMongoDB目錄並鍵入:
git submodule update
然后:
git checkout v0.9.6
將mongo-c-driver / src文件夾復制到XCode Project文件夾中
在XCode中,在項目中創建一個名為“ObjCMongoDB”的新組並選擇它
將步驟4中的src文件夾添加到項目中,但不添加到目標。
將項目中的src名稱更改為mongo-c-driver
將mongo-c-driver中的這些文件添加到目標:
在XCode中,再次選擇ObjCMongoDB組,並向項目和目標添加以下文件夾,選中“為任何添加的文件夾創建組”:
根據分步指南,我應該能夠現在構建和運行我的項目,但是有錯誤。
首先,來自MongoConnection + Diagnostics.h :
#import <ObjCMongoDB/ObjCMongoDB.h>
我此時沒有名為ObjCMongoDB的框架,所以這顯然會失敗。
更令人困惑的是這個漂亮的錯誤 ,其次是有問題的API:
int bson_init_finished_data( bson *b, char *data, bson_bool_t ownsData ) { _bson_zero( b ); b->data = data; b->dataSize = bson_finished_data_size( data ); b->ownsData = ownsData; b->finished = 1; return BSON_OK; }
當然似乎期待3個論點......
所以我很茫然。 任何幫助將不勝感激。
我是ObjCMongoDB的作者。 感謝您對圖書館的興趣以及關於您的問題的單挑。
要解決第一個問題, MongoConnection+Diagnostics.h
的#import
行更改為#import "ObjCMongoDB.h"
。 (在最后一個版本之后,這已在master中修復。)
另一個問題正在發生,因為v0.9.6基於Mongo C驅動程序的早期版本而不是您正在使用的文件,我猜您是從Github上的10gen存儲庫下載或克隆的。
C驅動程序設置為子模塊,因此當您克隆ObjCMongoDB時,您應該看到一個空的mongo-c-driver
文件夾。
從存儲庫根目錄,您可以運行此命令:
git submodule update --init
應該加載正確版本的Mongo C驅動程序(我的分支從v0.9.6開始,但下一個版本將使用正式版)。 我在自述文件中添加了關於此步驟的注釋。
一旦將.[ch]
文件的那些版本添加到項目中,它就應該正確構建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.