
Xcodeでコンパイルオプションを設定する方法です。
環境
Mac OS X 10.7.3
Xcode 4.3
Xcode 4.3
※以下の例では、コンパイルするプログラムとして、こちらのサイトに掲載されているC言語からMySQLに接続するプログラムを使わせて頂きました。
example.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stdio.h> #include <stdlib.h> #include <mysql.h> #define MYSQL_SERVER "hostname" #define MYSQL_USERNAME "username" #define MYSQL_PASSWORD "password" #define MYSQL_DATABASE "dbname" #define MYSQL_PORT 3306 #define MYSQL_SOCKET NULL #define MYSQL_OPT 0 int main(int argc, const char * argv[]) { MYSQL *connect; MYSQL_RES *result; MYSQL_ROW row; connect = mysql_init(NULL); if (!mysql_real_connect(connect, MYSQL_SERVER, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASE, MYSQL_PORT, MYSQL_SOCKET, MYSQL_OPT)) { fprintf(stderr, "%s\n", mysql_error(connect)); exit(1); } if (mysql_query(connect, "show tables")) { fprintf(stderr, "%s\n", mysql_error(connect)); exit(1); } result = mysql_use_result(connect); printf("----MySQL Tables in '%s' database -----\n", MYSQL_DATABASE); while ((row = mysql_fetch_row(result)) != NULL) { printf("%s\n", row[0]); } mysql_free_result(result); mysql_close(connect); return 0; } |
まずは、上記プログラムをコマンドラインから普通にコンパイルしてみます。
$ gcc -o example -L/opt/local/lib/mysql5/mysql -I/opt/local/include/mysql5/mysql -lmysqlclient example.c
実行します。
$ ./example ----MySQL Tables in 'dbname' database ----- wp_commentmeta wp_comments wp_links wp_options wp_postmeta wp_posts wp_term_relationships wp_term_taxonomy wp_terms wp_usermeta wp_users
テーブル一覧が表示されましたね。(WordPressのデータベースに接続してみた結果です)
※MySQLは、インクルードファイルやライブラリファイルのパスを検索してくれるmysql_configコマンドがあるので、これをコンパイルオプションに指定すれば自分でパスを調べる手間が省けます。
$ gcc -o example $(/opt/local/lib/mysql5/bin/mysql_config --cflags --libs) example.c
では、これと同じ事をXcodeでやってみたいと思います。
Xcodeメニューより、File > New > New Project > Command Lline Toolを選択して、プロジェクトを作成します。
▼プロジェクト内にmain.cが生成されているので、こちらに先ほどと同じコードを書きます。

▼プロジェクトを選択してBuild Settingsパネルを開きます。

▼Search PathsのHeader Search Pathsにインクルードファイルのパスを、Library Pathsにライブラリファイルのパスを指定します。

例) Header Search Paths
/opt/local/include/mysql5/mysql
例) Library Paths
/opt/local/lib/mysql5/mysql
▼LinkingのOther linker Flagsにリンカを指定します。

例) Other linker Flags
-lmysqlclient
準備が整いました。Runボタンをクリックしてビルドしてみましょう。

テーブル一覧が出力されました。
コンパイルオプションは最初に一度設定してしまえば以後は必要はありません。
MacでC言語の開発をするなら、Xcodeを使うと楽できますね。