2009-07-17 81 views
6

我开始使用Mono在C#和C++中开发应用程序。我想问你,Mono如何编译C++代码?它使用GCC吗?看到它有STL容器真是太神奇了...另外,我可以在Mono中使用Boost库和GSL库吗?提前致谢!!!使用Mono在C++中进行开发

回答

7

我认为您必须使用IDE的MonoDevelop,而不是单声道本身

是,MonoDevelop的使用GCC/G ++编译C/C++源代码,但它不会被编译到CIL。 - 它被编译为本地二进制

如果我理解正确,那么你应该可以使用提升就好了

但是,如果您询问Mono是否支持混合模式程序集或可执行文件(例如。程序集/ exe包含本机和.NET CIL),那么我很抱歉地通知您,此功能不受支持,Mono也不会将C++编译为纯CIL。

+0

是的,我正在使用MonoDevelop。我遇到的问题是我不知道如何链接boost库。如果我想包含array.hpp文件,我写了#include ,但是因为这个文件调用了其他文件,并且这些文件在array.hpp文件中的目录是“/ boost/somefile“,我的目录有问题。我能做什么? – user123668 2009-07-20 01:04:38

+0

具体来说,目录应该是/ directories/boost/somefile,而不是/ boost/somefile。 – user123668 2009-07-20 01:06:52

+1

好的,你想要做的是设置C++包含路径。你不想#include,你​​应该做的是#include ,并将/ full/path /添加为include路径MonoDevelop的项目选项(在代码生成下)。 – jstedfast 2009-08-06 17:59:06

5

只要你不需要混合模式(即忘记本机部分并且仅用于CIL),mono就可以与C++代码一起工作(我听说他们现在实验性地支持混合模式,尤其是在Windows上) ,以及其他地方通过葡萄酒,但我认为那部分还没有准备好黄金时间)。目前支持良好的C++编译器是Net 2.x框架上的Microsoft C++/CLI; (目前多年来)已经开始添加gcc,但我不知道迄今为止的任何生产就绪结果:-(。