我遇到了问题。
好吧,我想创建自己的dylib文件,在里面写一些方法,等等。你知道,只是一个普通的库。
好的,所以我打开了Xcode,新项目,我选择了动态库。我已经创建了一个* main_lib.c *文件,并在其中编写了这个方法:
void printMessage(char *str){
printf("%s", str);
}
显然,我将此文件与.dylib文件链接并构建项目,没有错误。在此之后,我创建了另一个项目,选择了命令行应用程序并创建了一个main.c文件。
我在此项目中导入了已构建的.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 :(得分:0)
要将其添加到目标依赖关系并在“构建阶段”中与库链接并将其添加到它,它将起作用