2017-08-29 4 views
0

私は#includeのファイル<mysql/mysql.h>のCコードをいくつか持っています。私はMacで稼働しており、mysqlをインストールする方法を知ることができません(SOにある解決策を実行した後、mysqlディレクトリはシステムライブラリにも存在しません)。私はソースコードからMySQLをダウンロードすることができましたが、今ではmysql.hというファイルがソースコードの "include"ディレクトリにあります。手動で.hファイルをシステムライブラリにインポートするにはどうすればよいですか?

しかし、このファイルをシステムライブラリに移動するだけで、明らかに私のプログラムは動作しません。私は私のプログラムにリンク可能にするために、私が行ったライブラリをコンパイルし、バイナリファイルをどこかに移動する必要があると思います。

@ RustyXの提案によれば、私はMac MySQLパッケージをインストールしました。それはmysql.hのコピーを/usr/local/mysql-5.7.19-macos10.12-x86_64/include/ディレクトリに置きます。ただし:

1)私はgccを使用して.cファイルをコンパイルしています。問題のディレクトリを含めるようにgccを設定する方法がわかりません。

ld: library not found for -lmysqlclient 

私はmysqlclientのために含まれる他のパスがあります:インストールされているMac MySQLのパッケージの両方、およびMySQLのソースコードは、私がdownloaded--が、私は次のエラーを取得する - 私は -L(directory path)を試してみましたか?インストールする別のパッケージですか?

2)それを含めるとしても、被呼び出しファイル名が<mysql/mysql.h>であり、ファイル名が<include/mysql.h>であるため、ファイルを見つけることができません。このファイルは他のユーザーによって使用されているため、includeディレクトリの名前をmysqlに変更するのが最善の方法ですか?または、.cファイルのパスを変更して、コミットする前に毎回変更してください。

+0

えっ... 1をコンパイルして実行するには、

#include <mysql.h> //in your program 

をこのようなステートメントを試してみました/doc/refman/5.6/en/osx-installation-pkg.html)、2)プロジェクトのインクルードパスとlibパスを追加設定する(/ usr/local/mysqlなど) – rustyx

+0

あなたの解決策を試してみた;更新されたステータスについては上記の投稿を参照してください。 – Alex

+1

私はあなたとライブラリを混同していると思います。 'make install'を実行したなら、作成/インストールされたディレクトリとファイルを出力します。インストールの仕方に基づいて、正しい-I引数と-L引数を設定する必要があります。また、あなたはdirと一緒に-Lを試したと言います。そのディレクトリに 'libmysqlclient.dylib'がインストールされていますか? –

答えて

0

あなたは[mysqlのパッケージ](https://dev.mysql.comをインストールします)

gcc -w -c -g -I/usr/include/mysql filename.c 
gcc -o filename filename.o -L/usr/lib64/mysql -lmysqlclient 
./filename (input params) 
+0

はい、私はこれを試しましたが、 'fatal error: 'mysql.h'ファイルが見つかりませんでした'と言われたら、代わりに 'mysql.h'のフルパスをインクルードしてみました。その時点で、私は自分の投稿で引用したエラーを出しました。しかし、 '-L'引数については、' -L/Users/pc/Downloads/mysql-5.0.92/include'を置いています。これは 'mysql.h'ファイルを持つディレクトリです。多分私は別のものを使うべきでしょうか? – Alex

関連する問題