4

PythonへのSWIGバインディングを持つCライブラリに取り組んでいます。autotoolsの設定で、gettimeofday関数をチェックします。pyconfig.hHAVE_GETTIMEOFDAYも定義しているファイルと競合するため、プロジェクトのPython部分をコンパイルできないことがわかりました。

config.hこれは非常に一般的な問題のようです。Pythonが自分のものと競合しているのを見て驚いた。私のプロジェクトでは、config.hプライベートを維持しています---つまり、がインストールされていませんmake install。私の印象では、これは正しいと思います。この意見が共有されているブログ投稿を少なくとも1つ見つけました。

Pythonが私のと競合するのはバグconfig.hですか?

編集:追加して解決しました

AC_DEFINE(Py_PYCONFIG_H,[],[Defined here to avoid conflicts with pyconfig.h])

私にconfigure.ac。質問はまだ残っていconfig.hますか、プロジェクトで公開する必要がありますか、それとも非公開にして、ビルド中に実装ファイルでのみ利用できるようにする必要がありますか?

4

1 に答える 1

3

あなたが抱えているような問題を避けるために、公開するべきではありません。Gentoo autotools best-practices document 、特にThe config.h header file should be think to be an internal header fileで始まる段落を参照してください。

あなたの場合、私はあなたがしたのとまったく同じことをします: そのファイルの処理を防ぐ #define を追加します。

于 2009-12-24T01:15:23.557 に答える