Quantcast
Channel: HAPPY*TRAP » Mac
Viewing all articles
Browse latest Browse all 14

[Xcode] コンパイルオプションの設定

$
0
0
Xcode コンパイルオプションの設定

Xcodeでコンパイルオプションを設定する方法です。

環境
Mac OS X 10.7.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が生成されているので、こちらに先ほどと同じコードを書きます。
Xcode コンパイルオプションの設定


▼プロジェクトを選択してBuild Settingsパネルを開きます。
Xcode コンパイルオプションの設定


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

例) Header Search Paths
/opt/local/include/mysql5/mysql

例) Library Paths
/opt/local/lib/mysql5/mysql


▼LinkingのOther linker Flagsにリンカを指定します。
Xcode コンパイルオプションの設定

例) Other linker Flags
-lmysqlclient


準備が整いました。Runボタンをクリックしてビルドしてみましょう。



テーブル一覧が出力されました。

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

Viewing all articles
Browse latest Browse all 14

Trending Articles