私は、ftdi D2XX ドライバーを使用して ENTTEC DMX usb pro デバイスと接続するプロジェクトに取り組んでいます。ftdi ドライバー (/usr/local/lib/ に格納されている libftdi2xx.so.1.1.12) は、glibc v2.14 以降のバージョンに対してコンパイルされます。
glibc v2.13までしかサポートしないdebian 7で開発しています。私が書いた C コード (ftdi ドライバーを呼び出す) を実行すると、エラーが発生します。
./a.out: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/lib/libftd2xx.so)
glibc のバージョンに互換性がないことを考えると、これは理にかなっています。glibc の最新バージョン (v2.17) をコンピューターの一時ディレクトリ ('~/glibc-testing/install/lib/') にダウンロードしてインストールし、次の呼び出しを使用しました。
~/glibc-testing/install/lib/ld-linux-x86-64.so.2 --library-path ~/glibc-testing/install/lib/ ./a.out
この呼び出しにより、C コードを正常に実行できます。
この C コードを共有ライブラリにコンパイルしたいと思います。DMX デバイスとのインターフェイスに使用され、C# で開発されたメイン アプリケーションによって呼び出されます。
先に進む方法がわかりません。私がする必要があるように思われるのは、アプリケーションの残りの部分が通常のライブラリを使用できるようにしながら、fdti ドライバーに常に新しい glibc を使用するように指示することです。ftdi 2DXX ドライバーは、プリコンパイルされた状態でのみ入手できます (ソース コードは入手できません)。このコンパイル済みプログラムを新しいライブラリにリンクする方法はありますか?
LD_LIBRARY_PATH=/home/.../glibc/install/lib/ をエクスポートするオプションを調べましたが、ほとんど成功していません。
ありがとうございました!