OSQZSS

オープンソース準天頂衛星(QZSS)受信機

RTL-SDRの開発環境

2013-05-22 22:27:16 | RTL-SDR
RTL2382U+R820Tのチューナがまだ届かないので,
とりあえずRTL-SDRの開発環境を整えてみました.

開発ツールは,GNSS-SDRLIBへの実装を見越して
Visual Studio Express 2012 for Windows Desktopです.

まず,RTL-SDRのページからpre-built Windows versionを
ダウンロードします.

RTL-SDR: pre-built Windows version

この中には,RTL-SDRのライブラリとDLL,ヘッダファイル,
そしてlibusb-1.0とpthreadのDLLが入っています.

さらに,rtl_test.exeやrtl_sdr.exeといったアプリも
入っていますが,今回はこれらをリビルドしてみます.

まず,ライブラリなどをどこか判りやすいフォルダへコピーします.
ここでは,C:\rtlsdrにコピーしました.

次に,RTL-SDRのソースを入手します.Gitを使ってソースファイルを
すべてダウンロードしても良いのですが,今回はサンプルツールの
リビルドだけですので,リポジトリから必要なファイルだけコピーします.

git: rtl-sdr/tree/src/

サンプルツールのソースとして,rtl_sdr.cを選びました.
また,Windowsでビルドする場合には,getoptフォルダの
getopt.cとgetopt.hも必要になります.

これで材料はそろいました.次は,Visual Studio Express 2012で,
New ProjectからWin32 Console Applicationを作成します.

 (クリックで拡大)

このとき,Applicaton SettingsのAdditional Optionsで,
Precompiled headerではなく,Empty projectにチェックを
入れてください.

 (クリックで拡大)

新しく生成されたプロジェクトフォルダに,rtl_sdr.cとgetopt
フォルダをコピーします.



さらに,ソースファイルをSolution Explorerに追加します.



次に,RTL-SDRのライブラリを使うために,必要なフォルダへの
パスをDEBUGのPropertiesから指定します.



まず,C:\rtlsdrへコピーしたヘッダファイルへのパスを指定します.

 (クリックで拡大)

次に,ライブラリへのパスを指定します.Visual Studio Express 2012は,
デフォルトでx32アプリをビルドしますので,C:\rtlsdr\x32を指定します.

 (クリックで拡大)

さらに,LinkerのAdditional Dependenciesにrtlsdr.libを追加します.

 (クリックで拡大)

これでビルドの準備が整いました.しかし,ダウンロードしたソースを
そのままビルドすると,次のようなエラーが発生します.



そこで,エラーメッセージの指示通りに,rlt_sdr.cとgetopt.cの先頭に,
_CRT_SECURE_NO_WARNINGSを書き加えます.



これでエラーも警告もなく,rtl_sdr.exeがビルドできるようになりました.

最後に,rtl_sdr.exeを実効するためにはrtlsdr.dllが必要になりますので,
環境変数のPATHに,DLLをコピーしたC:\rtlsdr\x32を加えておきます.



このアプリケーションは,チューナから出力されるIF信号のサンプルを
ファイルに保存します.ファイルに保存する代わりに,GNSS-SDRLIBの
入力信号とすれば,リアルタイムのソフトウェアGPS受信機として動作するはず!

チューナの到着が待ち遠しいです.

【追記】フラットデザインが流行なのだろうけど,新しいVisual Studioの
インターフェイスはヌルっとしていて使いづらい.テキストなのかボタン
なのかタブなのか,みんな同じに見える.

どうしても気に入らない点は,Output windowのエラーや警告メッセージが
テキストとして部分的にコピーできないこと.エラーや警告なんて,ネットで
調べないと何だか判らないものが多い.コピーできないなら全部手入力.
これだけでもなんとかならないかな…

【追記2】リファレンスを見る限り,エラーは一覧でしかコピーできないようだ.
エラー一覧をExcelのスプレッドシートに張り付けたりなんてしたことないよ…

Visual Studio 2012: [エラー一覧]ウィンドウ

【追記3】IntelliSenseが大量のエラーメッセージを出していることに気付く.
それでもビルドは通るから,無視していいのか?どれもgetopt関連のエラーで
GNSS-SDRLIBへの実装には影響ないので,とりあえずスルー.
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« はじめてのGNSS-SDRLIB | トップ | RTL-SDRのTCXO換装 »
最新の画像もっと見る

コメントを投稿

RTL-SDR」カテゴリの最新記事