0

我用 c++ 编写了一个在 c# 应用程序上完美运行的 dll。是这样的

#include "stdafx.h"
#include "fun.h"

extern "C" __declspec(dllexport)double Add(double a, double b,double k);
extern double Add(double a, double b,double k) 
{ 
    return a+b+k;
} 

现在我想在 MAC 应用程序上运行相同的 DLL。我需要在当前的 DLL 中进行哪些更改?

4

3 回答 3

4

您不能创建在 Windows 和 Mac 上都加载的 DLL。您需要为 Mac 重新编译代码。

于 2012-09-10T10:57:49.527 回答
0

你不能在mac上运行任何dll。Mac 有它自己的动态加载库。

于 2012-09-10T10:59:08.310 回答
0

如果您坚持使用 c#,我相信您有 2 个选择。第一个选项是查看您的代码是否会在 mac 上以单声道运行。为此,您将创建 macintosh 可执行文件和动态库。

http://www.mono-project.com/Mono:OSX

http://lipsky.me/2012/7/21/calling-a-dynamic-library-from-monomac-part-1

第二种是使用 .NET 2.0 或更低版本,看看您的应用程序是否可以在 macintosh 上的 wine 下运行。不要在代码中使用任何 .NET 3.X 或更高版本,因为 .NET 3.X 或更高版本将无法安装或在 wine 中存在很多问题。

http://appdb.winehq.org/objectManager.php?sClass=version&iId=3754

于 2012-09-10T12:07:26.457 回答