2013-01-22 87 views
1

我遇到了問題。在C代碼中創建並鏈接.dylib C

那麼,我想創建自己的dylib文件,並在其中寫入一些方法等。你知道,只是一個普通的庫。

好的,所以我打開了Xcode,新項目,我選擇了動態庫。我創建了一個* main_lib.c *文件,並寫了它內部的這種方法:

void printMessage(char *str){ 

    printf("%s", str); 

} 

很顯然,我聯繫與名爲.dylib文件這個文件,並建造項目,沒有錯誤。在此之後,我創建了另一個項目,選擇了命令行應用程序並創建了一個main.c文件。

我在此項目中導入了builded .dylib文件。

我問我的一個朋友,他說現在我應該創建一個頭文件,並在裏面寫入dylib的函數原型。所以,我創建了一個main_lib.h文件,並宣佈這個原型:

void printMessage(char *str); 

在這一點上,我main.c文件中寫這樣的代碼:

#include <stdio.h> 
#include "main_lib.h" 

int main(void){ 

    printMessage("just a try"); 

return 0;  

} 

但是,當我建立這個它說:

ld: symbol(s) not found for architecture x86_64 

這意味着編譯器無法找到printMessage,對不對?但爲什麼?我究竟做錯了什麼?請幫助:)先謝謝你們!

+0

你設置'.dylib'爲的依賴主程序? – trojanfoe

+0

呃,我在「構建階段」中檢查了「required」文本框,如果你的意思是 – jndok

+0

你需要告訴Xcode程序使用'.dylib'。它位於高級項目設置頁面之一中。 – trojanfoe

回答

0

要包括它只是把它添加到目標相關和Nd多數民衆贊成在「構建階段」 鏈接與圖書館,它會工作