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への実装には影響ないので,とりあえずスルー.
とりあえず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への実装には影響ないので,とりあえずスルー.