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,對不對?但爲什麼?我究竟做錯了什麼?請幫助:)先謝謝你們!
你設置'.dylib'爲的依賴主程序? – trojanfoe
呃,我在「構建階段」中檢查了「required」文本框,如果你的意思是 – jndok
你需要告訴Xcode程序使用'.dylib'。它位於高級項目設置頁面之一中。 – trojanfoe