嵌入Mono:找不到mono-2.0.dll

时间:2014-09-21 11:40:19

标签: c++ mono embed mono-embedding

我在使用VS2012的Windows 8.1上。

我正在尝试按照http://www.mono-project.com/docs/advanced/embedding/将Mono CLR嵌入到C项目中。经过一些问题,我现在正在编译。 我在文章中使用了.def文件:http://github.com/mono/mono/blob/master/msvc/mono.def 请注意,此文件说:LIBRARY mono-2.0.dll

当我运行它时,出现无法找到mono-2.0.dll的错误。

我安装了mono-3.2.3,我在任何地方都看不到mono-2.0.dll。

  1. mono .dll实现mono_xxx API(如mono_jit_init)?
  2. 我是否需要设置env-vars以使操作系统知道mono文件夹?
  3. 我有点担心该文档声明mono-2.0适用于旧版本并且应该使用'mono' - 但mono.dll也不存在...

1 个答案:

答案 0 :(得分:3)

请参阅此答案:Getting/compiling Mono-2.0.dll for embedding

  

您正在寻找的库可以在单声道安装文件夹的bin目录中找到。实际上,在安装mono 3.2.3之后,MONO_INSTALLATION_PATH \ bin \目录中有两个库:libmonoboehm-2.0.dll和libmonosgen-2.0.dll(您必须选择BoehmSGen GC实现)

BoehmSGen的链接现在重定向到同一网页)

我从未在Windows中使用过嵌入式Mono(我总是使用Linux),但可能会将.def文件更改为您的程序可以使用的库名。

例如,对于Boehm,您必须下载mono.def并按照以下方式进行编辑:

; file generated by create-windef.pl
LIBRARY libmonoboehm-2.0.dll
EXPORTS

对于SGen,只需下载monosgen.def并以这种方式进行编辑:

; file generated by create-windef.pl
LIBRARY libmonosgen-2.0.dll
EXPORTS