外部機器にコマンドを送るためにFTDIのTTL-232R-3V3というワイヤーを使っています。そこに特定の経路を高または低に設定したいと考えています。パリティまたはストップ ビットは必要ありません。
私のオペレーティング システムは Ubuntu Linux 13.04 です。
これらのコマンドを送信できる Java または C アプリケーションを開発したいと考えています。しかし、ワイヤーのドライバーをインストールしようとするとエラーが発生します。
この指示に従い、D2XX ドライバーをインストールすることにしました。ステップ 2.1 で説明したように、共有オブジェクトと静的ライブラリを正常にインストールしたと思いますが、エラー メッセージは表示されませんでした。
しかし、手順 3 で説明したように、サンプル コードをコンパイルしようとすると、make -B
コマンドを実行すると次のような出力が得られました。
for n in BitMode EEPROM/erase EEPROM/read EEPROM/write EEPROM/user/read EEPROM/user/size EEPROM/user/write Events LargeRead MultiThread SetVIDPID Simple Timeouts ; do make -C $n || exit 1; done
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
gcc main.c -o bitmode -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/BitMode'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
gcc main.c -o erase -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/erase'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
gcc main.c -o read -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/read'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
gcc main.c -o write -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/write'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
gcc main.c -o readua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/read'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
gcc main.c -o sizeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/size'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
gcc main.c -o writeua -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/EEPROM/user/write'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
gcc main.c -o events -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/Events'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
gcc main.c -o largeread -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/LargeRead'
make[1]: Betrete Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples/MultiThread'
gcc main.c -o multi -Wall -Wextra -L. -lftd2xx -Wl,-rpath /usr/local/lib
/usr/bin/ld: /tmp/ccoAsrRg.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/usr/bin/ld: note: 'pthread_create@@GLIBC_2.2.5' is defined in DSO /lib/x86_64-linux- gnu/libpthread.so.0 so try adding it to the linker command line
/lib/x86_64-linux-gnu/libpthread.so.0: could not read symbols: Ungültiger Vorgang
collect2: Fehler: ld gab 1 als Ende-Status zurück
make[1]: *** [multi] Fehler 1
make[1]: Verlasse Verzeichnis '/home/robin/Dokumente/Java/Stepper/lib/release/examples /MultiThread'
make: *** [subdirs] Fehler 1
そのエラーを修正するにはどうすればよいですか? 誰かがこのワイヤと Linux の経験がありますか? 前もって感謝します!