2013-01-22 43 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多数民众赞成在“构建阶段” 链接与图书馆,它会工作