なんとかなるさね

マイコンをネタにブログを始めてみました


Win/Linuxクロス開発 | BATファイルをEXEファイルに変換するツール 

幾つかのエントリ(382, 435)で、VMware Playerの共有フォルダ上のソースファイルをWindowsのPleiades
4.3 Keplerで管理/編集しつつ、VMware Playerのハードウェア仮想化されたCOMポート経由でWindowsの
Pleiades 4.3 KeplerからVMware Player上のUbuntuのネイティブなx86 Linux GCCを実行してビルドする
方法を試している最中ですが、Pleiades/Eclipseでは、BATファイルを実行させるよりもEXEファイルを実行
させる方が、多少やり方が簡単になりそうな気がしています。そこで、BATファイルをEXEファイルに変換
するツールを探してみたところ、'Bat To Exe Converter'というフリーソフトが見つかりました。

Bat To Exe Converter

ホームページ
http://www.f2ko.de/index.php?lang=en

ダウンロードページ
http://www.f2ko.de/programs.php?lang=en&pid=b2e

レビュー記事
http://www.forest.impress.co.jp/docs/review/20090908_313521.html



そこで、以下のようなEXEファイルを作成してみました。



EXEファイルに変換する前のBATファイルの内容は、以下の通りです。

ファイル: rm.bat make.bat gcc.bat g++.bat as.bat
内容(全て同じです):
@echo off
rem This code is in the public domain. You may use, modify or distribute it freely.

↓ 追記 : 以下2行追加しました。(2014/06/22)
rem 環境変数PATHの設定をgdb.batと同様に(gdb.batに合わせるように)変更しておく
PATH="%~dp0";%PATH%;Z:\WinLinux

rem バッチファイル名から拡張子を取り除いたものを実行するLinuxコマンド名とする
call WinLinux.bat '%~n0' %*


また、これらのBATファイルから呼び出される共通のBATファイルの内容は、以下の通りです。(なお、JS
ファイルの内容は、上に書いたエントリのものと同じです。)

ファイル: WinLinux.bat
内容:
@echo off
rem This code is in the public domain. You may use, modify or distribute it freely.

rem Linuxライクなフォルダ階層にしたWindows側のZ:のカレントフォルダのパスを取得
rem rem rem echo WINPATH=%CD%
if /i not '%CD:~0,2%'=='Z:' echo カレントドライブが Z: ではありません & exit /b 1
set TEMPSTR=%CD:~2%

rem 取得したZ:のカレントフォルダのパス文字列のパス区切り文字を'\'から'/'へ変更
set LINUXPATH=%TEMPSTR:\=/%
rem rem rem echo LINUXPATH=%LINUXPATH%

rem VMwareのCOMポートでリモートのLinux側のカレントフォルダ変更後にコマンド実行
rem 日本語コードがUnbutu側とWindows/Eclipse側で異なるので英語モードにしておく
cscript -nologo %~dp0\vmwshdo.js \\.\pipe\vmware-serial-port LANG=en_US ; cd '%LINUXPATH%' ; %*


これからPleiades 4.3 Keplerで試してみます。

関連記事

2014/04/02   blog-entry-436   category: Pleiades & CrossGCC

go page top