忍者ブログ
  • 2017.09
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2017.11
vbncを使ってemacsでコンパイル
vbncでtarget:exeでコンパイルしてもSystem.Designとか必要になってしまう。


Error : VBNC2017: The library 'System.Design.dll' could not be found.


-nostdlibとしても変わらない。
monoの世界の依存関係がよく分からないので力づくで
ライブラリサーチするようにしてみた。

で、よくよくライブラリフォルダを見てみたら

-libpath:/usr/lib/mono/4.0,/usr/lib/mono/2.0

でいいことに気づいた・・・orz

行番号とカラム番号をgccの出力に揃えたので便利になった~

Makefile

.PHONY: app clean exec
.SUFFIXES: .vb .exe
LIBS=System.Design System.Drawing.Design System.Web System.Web.Services

.vb.exe:
vbnc -t:exe -libpath:`./libsearch ${LIBS}` $+ | sed -e "s/ (\([^,]*\),\([^)]*\))\( *\):/:\1:\2:\3/"

app: Br.exe

clean:
rm -f *.exe

exec:
mono Br.exe


libsearch

#!/bin/bash

mypath=

function getPath()
{
local name=$1
local filepath;
for((i=4;i>=2;i-=2))
{
filepath=`find /usr/lib/mono -type f -ipath "*/${name}/${i}*" -iname "${name}.dll"`
if [ ! ${filepath}=="" ]
then
break
fi
}
if [ ! ${mypath} == "" ]
then
mypath+=,
fi
mypath+=$(dirname ${filepath})
}

for w in $*
do
getPath "$w"
done
echo $mypath



.emacs

(defun compile-make () (interactive) (compile "make -k"))
(global-set-key "\C-c\C-c" 'compile-make)
PR
【2012/11/11 07:34 】 | .Net Framework | 有り難いご意見(0)
                                    
<<vb.netの配列 | ホーム | HttpUrlConnectionの謎>>
有り難いご意見
貴重なご意見の投稿














<<前ページ | ホーム | 次ページ>>