2014-11-04 302 views
1

我想用Cygwin來在Windows上編譯mono,但是當我運行make它最終與以下錯誤錯誤編譯在Windows上單時:爲i686-PC-mingw32的/斌/勞工處:找不到-ldl

停止
make[3]: Entering directory '/cygdrive/c/Projects/mono/mono/metadata' 
    CCLD  pedump.exe 
/usr/lib/gcc/i686-pc-mingw32/4.7.3/../../../../i686-pc-mingw32/bin/ld: cannot find -ldl 
collect2: error: ld returned 1 exit status 
Makefile:1303: recipe for target 'pedump.exe' failed 
make[3]: *** [pedump.exe] Error 1 
make[3]: Leaving directory '/cygdrive/c/Projects/mono/mono/metadata' 
Makefile:434: recipe for target 'all-recursive' failed 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory '/cygdrive/c/Projects/mono/mono' 
Makefile:518: recipe for target 'all-recursive' failed 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory '/cygdrive/c/Projects/mono' 
Makefile:445: recipe for target 'all' failed 
make: *** [all] Error 2 

我只能假設我從我的cygwin安裝中丟失了一些東西,但我無法確定它可能是什麼,除非它可能是一個名爲libdl的庫。

我一直關注這個guide on codeproject並且也使用這個yaml file作爲參考。

+0

如果你打算向下投票,那麼請說出原因! – 2014-11-04 08:25:29

回答

2

代碼項目製品可以是不完整的,到底我得到了以下工作

首先我用(從mono/Appveyor.yml解釋)

setup-x86.exe -qnNdO -R "C:\cygwin" -s "http://cygwin.mirror.constant.com" 
    -l "C:\cygwin\var\cache\setup" -P autoconf -P automake -P bison -P gcc-core 
    -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ 
    -P mingw-pthreads -P mingw-w32api -P libtool -P make -P python -P gettext-devel 
    -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl 

然後從一個cygwin提示(組合的上述和代碼項目文章「How-to-build-Mono-on-Windows」)

NOCONFIGURE=1 ./autogen.sh --prefix="C:\monoinstall" --with-preview=yes 
./configure --host=i686-pc-mingw32 
make get-monolite-latest 
make 
mount "C:\monoinstall" /usr/local 
make install 

cd /cygdrive/c/monoinstall/bin 
rm mono 
cp /cygdrive/c/Program Files (x86)/Mono-3.2.3/bin/mono.exe /cygdrive/c/monoinstall/bin 
rm mcs 
cp /cygdrive/c/Program Files (x86)/Mono-3.2.3/bin/mcs.bat /cygdrive/c/monoinstall/bin 
相關問題