11月2014

mruby をWindowsのVC++でコンパイル ・・・ 成功

http://shoz.hatenablog.com/entry/20130221/1361465887
えー、mrubyのVC++でのビルドですが、上記サイトの情報で、楽々ビルドできますた。
変更点は、”build_config.rb”の下記の1カ所だけで済みます。 ( true をorして、visualcpp の toolchain を常に有効にするだけです)
[ruby]
# Gets set by the VS command prompts.
if ENV[‘VisualStudioVersion’] || ENV[‘VSINSTALLDIR’] || true
toolchain :visualcpp
else
toolchain :gcc
end

[/ruby]

後は、
> ruby .\minirake
するだけです。

ちなみに、mrubyのデバッガを欲しかったらgithubからgit cloneして最新版のmrubyを入手されてください。

下記記事は無駄な苦労をしたもので、誤っています。

mrubyのコンパイルに成功しますた。exts.executable = ‘.exe’を忘れていただけでした。
  • BISON
  • VC++
  • CRuby

が必要です。
BISONは、GnuWin32のBisonではm4でエラーになるので、下記サイトのBISONを使用。
ただし、パスを通しておくこと。
また、”win_bison.exe” を “bison.exe”にリネームしておかないと、minirakeに失敗します。
http://sourceforge.jp/projects/sfnet_winflexbison/
で、cmd を開いて、VCのサブフォルダにある”vcvars.bat”実行します。
(自分の環境では、”C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”にありました)
で、”build_config.rb”を下記のようにカスタマイズ。

[ruby]

MRuby::Build.new do |conf|
# load specific toolchain settings

# Gets set by the VS command prompts.
if ENV[‘VisualStudioVersion’] || ENV[‘VSINSTALLDIR’] || true
toolchain :visualcpp
else
toolchain :gcc
end

enable_debug

# Use mrbgems
# conf.gem ‘examples/mrbgems/ruby_extension_example’
# conf.gem ‘examples/mrbgems/c_extension_example’ do |g|
# g.cc.flags << ‘-g’ # append cflags in this gem # end # conf.gem ‘examples/mrbgems/c_and_ruby_extension_example’ # conf.gem :github => ‘masuidrive/mrbgems-example’, :checksum_hash => ‘76518e8aecd131d047378448ac8055fa29d974a9’
# conf.gem :git => ‘git@github.com:masuidrive/mrbgems-example.git’, :branch => ‘master’, :options => ‘-v’

# include the default GEMs
conf.gembox ‘default’

# C compiler settings
# conf.cc do |cc|
# cc.command = ENV[‘CC’] || ‘gcc’
# cc.flags = [ENV[‘CFLAGS’] || %w()]
# cc.include_paths = ["#{root}/include"]
# cc.defines = %w(DISABLE_GEMS)
# cc.option_include_path = ‘-I%s’
# cc.option_define = ‘-D%s’
# cc.compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}"
# end

# mrbc settings
conf.mrbc do |mrbc|
mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers
end

# Linker settings
conf.linker do |linker|
linker.command = ENV[‘LD’] || ‘cl’ #’gcc’
linker.flags = [ENV[‘LDFLAGS’] || []]
linker.flags_before_libraries = []
linker.libraries = %w()
linker.flags_after_libraries = []
linker.library_paths = []
linker.option_library = ‘-l%s’
linker.option_library_path = ‘-L%s’
linker.link_options = "%{flags} -o %{outfile} %{objs} %{libs}"
end

# Archiver settings
conf.archiver do |archiver|
archiver.command = ENV[‘AR’] || ‘lib’ #’ar’
archiver.archive_options = ‘/out:%{outfile} %{objs}’
end

# Parser generator settings
conf.yacc do |yacc|
yacc.command = ENV[‘YACC’] || ‘bison’
yacc.compile_options = ‘-o %{outfile} %{infile}’
end

# gperf settings
# conf.gperf do |gperf|
# gperf.command = ‘gperf’
# gperf.compile_options = ‘-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}’
# end

# file extensions
conf.exts do |exts|
exts.object = ‘.obj’
exts.executable = ‘.exe’ # ‘.exe’ if Windows
exts.library = ‘.lib’
end

# file separetor
# conf.file_separator = ‘/’

# bintest
# conf.enable_bintest
end

MRuby::Build.new(‘host-debug’) do |conf|
# load specific toolchain settings

# Gets set by the VS command prompts.
if ENV[‘VisualStudioVersion’] || ENV[‘VSINSTALLDIR’] || true
toolchain :visualcpp
else
toolchain :gcc
end

enable_debug

# include the default GEMs
conf.gembox ‘default’

# C compiler settings
conf.cc.defines = %w(ENABLE_DEBUG)

# Generate mruby debugger command (require mruby-eval)
conf.gem :core => "mruby-bin-debugger"

# bintest
# conf.enable_bintest
end

# Define cross build settings
# MRuby::CrossBuild.new(’32bit’) do |conf|
# toolchain :gcc
#
# conf.cc.flags << "-m32"
# conf.linker.flags << "-m32"
#
# conf.build_mrbtest_lib_only
#
# conf.gem ‘examples/mrbgems/c_and_ruby_extension_example’
#
# conf.test_runner.command = ‘env’
#
# end

[/ruby]

コンパイル成功

コンパイル成功

> ruby .\minirake

と実行します。上図が実行結果です。

mruby をWindowsのVC++でコンパイル ・・・ 失敗

mrbc.exe と、libmruby_core.libまではコンパイルできますた。
  • BISON
  • VC++
  • CRuby

が必要です。
BISONは、GnuWin32のBisonではm4でエラーになるので、下記サイトのBISONを使用。
ただし、パスを通しておくこと。
また、”win_bison.exe” を “bison.exe”にリネームしておかないと、minirakeに失敗します。
http://sourceforge.jp/projects/sfnet_winflexbison/
で、cmd を開いて、VCのサブフォルダにある”vcvars.bat”実行します。
(自分の環境では、”C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”にありました)
で、”build_config.rb”を下記のようにカスタマイズ。

[ruby]

MRuby::Build.new do |conf|
# load specific toolchain settings

# Gets set by the VS command prompts.
if ENV[‘VisualStudioVersion’] || ENV[‘VSINSTALLDIR’] || true
toolchain :visualcpp
else
toolchain :gcc
end

enable_debug

# Use mrbgems
# conf.gem ‘examples/mrbgems/ruby_extension_example’
# conf.gem ‘examples/mrbgems/c_extension_example’ do |g|
# g.cc.flags << ‘-g’ # append cflags in this gem
# end
# conf.gem ‘examples/mrbgems/c_and_ruby_extension_example’
# conf.gem :github => ‘masuidrive/mrbgems-example’, :checksum_hash => ‘76518e8aecd131d047378448ac8055fa29d974a9’
# conf.gem :git => ‘git@github.com:masuidrive/mrbgems-example.git’, :branch => ‘master’, :options => ‘-v’

# include the default GEMs
conf.gembox ‘default’

# C compiler settings
# conf.cc do |cc|
# cc.command = ENV[‘CC’] || ‘gcc’
# cc.flags = [ENV[‘CFLAGS’] || %w()]
# cc.include_paths = ["#{root}/include"]
# cc.defines = %w(DISABLE_GEMS)
# cc.option_include_path = ‘-I%s’
# cc.option_define = ‘-D%s’
# cc.compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}"
# end

# mrbc settings
conf.mrbc do |mrbc|
mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers
end

# Linker settings
conf.linker do |linker|
linker.command = ENV[‘LD’] || ‘cl’ #’gcc’
linker.flags = [ENV[‘LDFLAGS’] || []]
linker.flags_before_libraries = []
linker.libraries = %w()
linker.flags_after_libraries = []
linker.library_paths = []
linker.option_library = ‘-l%s’
linker.option_library_path = ‘-L%s’
linker.link_options = "%{flags} -o %{outfile} %{objs} %{libs}"
end

# Archiver settings
conf.archiver do |archiver|
archiver.command = ENV[‘AR’] || ‘lib’ #’ar’
archiver.archive_options = ‘/out:%{outfile} %{objs}’
end

# Parser generator settings
conf.yacc do |yacc|
yacc.command = ENV[‘YACC’] || ‘bison’
yacc.compile_options = ‘-o %{outfile} %{infile}’
end

# gperf settings
# conf.gperf do |gperf|
# gperf.command = ‘gperf’
# gperf.compile_options = ‘-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" %{infile} > %{outfile}’
# end

# file extensions
conf.exts do |exts|
exts.object = ‘.obj’
exts.executable = ” # ‘.exe’ if Windows
exts.library = ‘.lib’
end

# file separetor
# conf.file_separator = ‘/’

# bintest
# conf.enable_bintest
end

MRuby::Build.new(‘host-debug’) do |conf|
# load specific toolchain settings

# Gets set by the VS command prompts.
if ENV[‘VisualStudioVersion’] || ENV[‘VSINSTALLDIR’] || true
toolchain :visualcpp
else
toolchain :gcc
end

enable_debug

# include the default GEMs
conf.gembox ‘default’

# C compiler settings
conf.cc.defines = %w(ENABLE_DEBUG)

# Generate mruby debugger command (require mruby-eval)
conf.gem :core => "mruby-bin-debugger"

# bintest
# conf.enable_bintest
end

# Define cross build settings
# MRuby::CrossBuild.new(’32bit’) do |conf|
# toolchain :gcc
#
# conf.cc.flags << "-m32"
# conf.linker.flags << "-m32"
#
# conf.build_mrbtest_lib_only
#
# conf.gem ‘examples/mrbgems/c_and_ruby_extension_example’
#
# conf.test_runner.command = ‘env’
#
# end

[/ruby]

エラー

エラー

> ruby .\minirake

しましたが、上記画面のようにエラーとなっています。

orz

KeyCommander v.0.09 -コマンドライン入力機能追加-

KeyCommander v0.09

KeyCommander v0.09

http://ringing-web.com/wp-content/uploads/2014/11/KeyCommander_v0_10.zip

えー、「KY中佐」こと「KeyCommander」ですが、ver.0.09になりますた。

今回は、

  • 現在のタブのフォルダでの、コマンドライン入力文字列を実行
  • コマンドのショートカット(#を付けてキーを続ける。「#s」とか入力すると「start iexplore」に展開されたり)登録機能の追加
  • 「X」キー入力で、選択中のファイルに、コマンドラインを適用。(コマンドライン中に「$C」を書いておくと、「$C」が選択中のファイルに置き換わります)
  • ファイルの拡張子を判断し、設定した実行プログラムで開く、またはそのまま実行する機能(ファイルの関連づけです。Windowsの関連づけとは連携していません)

が、メインの改造です。

うーん、テキトー・・・orz

NextFTP見習うどころか、ますますクサいソフトになってきた。

 【追記】

いつのまにか、バグフィックスして、ver.0.10にしています。

KeyCommander ver.0.07 -ファイル関連付け機能追加-

KeyCommander ver.0.07

KeyCommander ver.0.07

ファイル関連付け

ファイル関連付け

http://ringing-web.com/wp-content/uploads/2014/11/KeyCommander_v0_07.zip

えーと、まだ作ってました、もはや趣味のC#プログラミング、「KeyCommander ver.0.07」です。

今回は、「ファイルの関連付け」という機能を加えました。

たとえば、「BAT」という拡張子のついたファイルをダブルクリックまたはEnterキーを押すと、BATファイルとして実行されます。

また、「BAT」に2つ以上の関連付けを行っていると、メニューが出てきて、どの関連付けデータを使用するか、聞いてきます。
後は、メニューから選択すると、その関連付けられたプログラムに、ダブルクリックまたはEnterしたファイルが渡されます。

と、こんなもん?しか実装してませぬ。・・・orz

KeyCommander ver.0.06 なぜかマウス操作に対応

KeyCommander ver. 0.06

KeyCommander ver. 0.06

http://ringing-web.com/wp-content/uploads/2014/11/KeyCommander_v0_06.zip

えー、KCommanderを改名して、「KeyCommander」にしました。

もちろん、「Vz風キーボード操作を再現する」の意味です。

なお、Commander=「海軍中佐」なので、

略称は「KY中佐」です。

でも、なぜか今回のver.0.06では、マウス操作への対応を行いました。orz

なにやってんだよ・・・。

他にも細かい点は修正しています。