1

「sudo port install mysqlxx +universal」を実行する前に、mysql5 のユニバーサル バリアントをインストールしました。

... C 数学関数を使用するために -lm が必要かどうかを確認しています ... いいえ

-lsocket が必要かどうかを確認しています... いいえ

-lnsl が必要かどうかを確認しています...いいえ

MySQL ライブラリ ディレクトリをチェックしています... /opt/local/lib/mysql5/mysql

MySQL インクルード ディレクトリをチェックしています... /opt/local/include/mysql5/mysql

MySQL C API ライブラリに直接リンクできるかどうかを確認しています...いいえ

zlib.h のユーザビリティをチェックしています...はい

zlib.h の存在を確認しています...はい

zlib.hをチェックしています...はい

-lzでgzreadをチェックしています...はい

-lz を追加すると MySQL C API リンクが成功するかどうかを確認しています...いいえ

configure: エラー: MySQL クライアント ライブラリにリンクできません!

4

1 に答える 1

0

ここで起こっていることは、あなたが Snow Leopard を実行していることだと思います。以前のバージョンの OS X では、デフォルトの C++ コンパイラはデフォルトで 32 ビットの実行可能ファイルをビルドしていましたが、Snow Leopard ではこれが 64 ビットに変更されました。これにより、MySQL C API ライブラリが 64 ビットと 32 ビットの両方の実行可能ファイルをサポートするユニバーサル ライブラリとしてビルドされていない場合、リンクの問題が発生する可能性があります。

この問題を回避する方法はたくさんありますが、私が知っている方法のほとんどは、MacPorts で動作しないか、動作させる方法がわかりません。これに関するセクションを Mac OS X 用の MySQL++ README に追加しました。オンラインで読むことができます

おそらく、これらのソリューションを MacPorts ビルド システムに適合させる方法を理解できるでしょう。このようなものがうまくいくかもしれません:

CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 sudo port install mysqlxx +universal

sudoそれは、バリアとバリアを通過する環境変数に依存しますport。もっとトリッキーになる必要があるかもしれません。例えば:

sudo -s
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 port install mysqlxx +universal

上でコメントしたように、ソース tarball からビルドするのが最も簡単かもしれません。

于 2010-05-27T06:40:41.313 に答える