問題が発生しました。
さて、私は独自の 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を見つけられないということですよね?しかし、なぜ?私は何を間違っていますか?助けてください:)よろしくお願いします!