1

Ubuntu にはlibiconv標準の c ライブラリが組み込まれており、.NET では必要ありませんLDFLAGS。OS X にはそれが組み込まれておらず、フラグを設定する必要があります。

私の現在のアプローチはifeq、私の Makefile で使用して、LDFLAG += -liconvOS X で条件付きで設定することです。

より良いアプローチがあるかどうか疑問に思っていますか?私は Web 開発の機能検出の考え方に大きく影響を受けており、同様のアプローチを使用して、現在のシステムでフラグが必要かどうかを検出できることを願っています。

4

1 に答える 1

0

手動で作成された makefile の場合、LDFLAGSとその仲間の内容を個別に設定することは、許容される方法です。必要な機能が 2 つしかない場合は、これがより簡単になる可能性があります。

機能を一般的に検出したい場合、CMakeAutomakeなどの makefile ジェネレーターを使用するのが 1 つの方法です。

最後のオプションは、Automake が実行するランタイム チェックを手動で実行することです。つまり、コンパイルするサンプル ファイルを用意し、オプションの 1 つにリンクして、それが機能するかどうかを確認します。それが次のようにしようとしない場合。このようにして、各機能に必要なフラグをテストしています。Automake は、プロジェクトが./configuredのときにこれを 1 回行いますがmake、実行するたびに、またはビルドのセットアップに適したときにいつでも行うことができます。

于 2012-11-30T12:27:08.040 に答える