1

我需要在 VS2013 中从 C# .net (4.0, 4.5) 调用 CLP(用 C++ 编写的线性规划求解器)。

 http://www.coin-or.org/Clp/userguide/clpuserguide.html

我已经搜索了一些关于如何从 C# 调用 C++ lib 的链接。

我找到了可能的选择:

  1. 使用 C# 变形器

    http://astarte.csr.unibo.it/coinORwrapper/coinORwrapper.htm

  2. 自己设计包装类。

    http://www.codeproject.com/Articles/19354/Quick-C-CLI-Learn-C-CLI-in-less-than-minutes

    https://msdn.microsoft.com/en-us/library/ms235281%28v=vs.120%29.aspx

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/299da822-5539-4e5b-9ba7-b614e564c9f4/presenting-ac-library-lib-for-use-in-c-project

CLP 有太多的类,所以我尽量避免为每个类编写一个包装类。这可能会导致太多错误。

第一个选项没有英文文档,并且有错误。

还有其他方法可以从 C# 调用 CLP 吗?

谢谢

4

1 回答 1

0

作为第三种选择,您有P/Invoke。但是,如果您对 C++ 的了解不足以使用 C++ 调用此库,那么您不应该陷入这种混乱。

我不知道您到底想用 CLP 做什么,但您是否考虑过使用与您选择的语言更好地交互的其他产品?例如,Solver Foundation可以成为替代选择吗?

于 2016-04-20T05:46:27.870 回答