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
フォルダをコピーします.
![](https://blogimg.goo.ne.jp/user_image/2e/36/73a67f9f340b39a61d9c46dbe73f5066.png)
さらに,ソースファイルをSolution Explorerに追加します.
![](https://blogimg.goo.ne.jp/user_image/1b/99/904cbbb0e4af718d8daad8980ecc90e3.png)
次に,RTL-SDRのライブラリを使うために,必要なフォルダへの
パスをDEBUGのPropertiesから指定します.
![](https://blogimg.goo.ne.jp/user_image/39/78/ce706c166b040519ece7357b893cdd1f.png)
まず,C:\rtlsdrへコピーしたヘッダファイルへのパスを指定します.
(クリックで拡大)
次に,ライブラリへのパスを指定します.Visual Studio Express 2012は,
デフォルトでx32アプリをビルドしますので,C:\rtlsdr\x32を指定します.
(クリックで拡大)
さらに,LinkerのAdditional Dependenciesにrtlsdr.libを追加します.
(クリックで拡大)
これでビルドの準備が整いました.しかし,ダウンロードしたソースを
そのままビルドすると,次のようなエラーが発生します.
![](https://blogimg.goo.ne.jp/user_image/5f/95/a095064fb45249b9fd88020d0d70df07.png)
そこで,エラーメッセージの指示通りに,rlt_sdr.cとgetopt.cの先頭に,
_CRT_SECURE_NO_WARNINGSを書き加えます.
![](https://blogimg.goo.ne.jp/user_image/51/bc/e21801b60b38d2407950654fb8a22d95.png)
これでエラーも警告もなく,rtl_sdr.exeがビルドできるようになりました.
最後に,rtl_sdr.exeを実効するためにはrtlsdr.dllが必要になりますので,
環境変数のPATHに,DLLをコピーしたC:\rtlsdr\x32を加えておきます.
![](https://blogimg.goo.ne.jp/user_image/1e/91/850f5fed326c36328432baa0b723d001.png)
このアプリケーションは,チューナから出力される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を作成します.
![](https://blogimg.goo.ne.jp/thumbnail/5e/64/e4853b33f6e10682b0aa48e748501313_s.jpg)
このとき,Applicaton SettingsのAdditional Optionsで,
Precompiled headerではなく,Empty projectにチェックを
入れてください.
![](https://blogimg.goo.ne.jp/thumbnail/7e/77/b2b7e49ec37e35b5ba02a67e9cfe008d_s.jpg)
新しく生成されたプロジェクトフォルダに,rtl_sdr.cとgetopt
フォルダをコピーします.
![](https://blogimg.goo.ne.jp/user_image/2e/36/73a67f9f340b39a61d9c46dbe73f5066.png)
さらに,ソースファイルをSolution Explorerに追加します.
![](https://blogimg.goo.ne.jp/user_image/1b/99/904cbbb0e4af718d8daad8980ecc90e3.png)
次に,RTL-SDRのライブラリを使うために,必要なフォルダへの
パスをDEBUGのPropertiesから指定します.
![](https://blogimg.goo.ne.jp/user_image/39/78/ce706c166b040519ece7357b893cdd1f.png)
まず,C:\rtlsdrへコピーしたヘッダファイルへのパスを指定します.
![](https://blogimg.goo.ne.jp/thumbnail/74/45/f5491cfaae35a48ddb127bf143f26b23_s.jpg)
次に,ライブラリへのパスを指定します.Visual Studio Express 2012は,
デフォルトでx32アプリをビルドしますので,C:\rtlsdr\x32を指定します.
![](https://blogimg.goo.ne.jp/thumbnail/1b/b1/7d369c7447b429a8821aae56b481b972_s.jpg)
さらに,LinkerのAdditional Dependenciesにrtlsdr.libを追加します.
![](https://blogimg.goo.ne.jp/thumbnail/71/78/3cdde2f84af750aaf54482710c750508_s.jpg)
これでビルドの準備が整いました.しかし,ダウンロードしたソースを
そのままビルドすると,次のようなエラーが発生します.
![](https://blogimg.goo.ne.jp/user_image/5f/95/a095064fb45249b9fd88020d0d70df07.png)
そこで,エラーメッセージの指示通りに,rlt_sdr.cとgetopt.cの先頭に,
_CRT_SECURE_NO_WARNINGSを書き加えます.
![](https://blogimg.goo.ne.jp/user_image/51/bc/e21801b60b38d2407950654fb8a22d95.png)
これでエラーも警告もなく,rtl_sdr.exeがビルドできるようになりました.
最後に,rtl_sdr.exeを実効するためにはrtlsdr.dllが必要になりますので,
環境変数のPATHに,DLLをコピーしたC:\rtlsdr\x32を加えておきます.
![](https://blogimg.goo.ne.jp/user_image/1e/91/850f5fed326c36328432baa0b723d001.png)
このアプリケーションは,チューナから出力されるIF信号のサンプルを
ファイルに保存します.ファイルに保存する代わりに,GNSS-SDRLIBの
入力信号とすれば,リアルタイムのソフトウェアGPS受信機として動作するはず!
チューナの到着が待ち遠しいです.
【追記】フラットデザインが流行なのだろうけど,新しいVisual Studioの
インターフェイスはヌルっとしていて使いづらい.テキストなのかボタン
なのかタブなのか,みんな同じに見える.
どうしても気に入らない点は,Output windowのエラーや警告メッセージが
テキストとして部分的にコピーできないこと.エラーや警告なんて,ネットで
調べないと何だか判らないものが多い.コピーできないなら全部手入力.
これだけでもなんとかならないかな…
【追記2】リファレンスを見る限り,エラーは一覧でしかコピーできないようだ.
エラー一覧をExcelのスプレッドシートに張り付けたりなんてしたことないよ…
Visual Studio 2012: [エラー一覧]ウィンドウ
【追記3】IntelliSenseが大量のエラーメッセージを出していることに気付く.
それでもビルドは通るから,無視していいのか?どれもgetopt関連のエラーで
GNSS-SDRLIBへの実装には影響ないので,とりあえずスルー.
※コメント投稿者のブログIDはブログ作成者のみに通知されます