编译mono 6.4遇到的问题
起因
本来不想手动编译Mono 6.4,因为现在Mono和.Net Core同步发布新版本,在9月份发布.Net Core 3.0和Mono 6.4,因为.Net Core 3.0不是长期支持的版本,.Net Core 3.1才是长期支持的版本,加上3.0是一个大的更新版本,才是还有问题的.当然开发新项目是可以用3.0来做的,后期可以很方便的切换到3.1中. 回到重点上来.Mono 6.4配置文件发生了变化.造成生成的静态库文件是带调试信息的.这里是简单粗暴进行处理的.开始(环境为MingW)
如果是首次从github获取的代码. 先执行如下命令:./autogen.sh --prefix=/e/opensource/mymono/ --host=x86_64-w64-mingw32 --disable-boehm CFLAGS=-O2 CXXFLAGS=-O2
后面执行:
./configure --prefix=/e/opensource/mymono/ --bindir=/e/opensource/mymono/mono/ --host=x86_64-w64-mingw32 --disable-boehm CFLAGS=-O2 CXXFLAGS=-O2
上面命令执行结束.接着执行:
make && make install
正常情况下,应该是静态库文件已经去掉了调试信息.在查看生成libmonosgen-2.0.a文件竟然为50多兆大小.
在生成的Makefile看到CFLAGS和CXXFLAGS竟然带有-g 标志,这里采用的笨方法.就是修改configure文件中CFLAGS和CXXFLAGS的参数.在重新生成Makefile.
秋风
2019-10-22