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)
[0回]
PR