【发布时间】:2013-12-31 00:25:54
【问题描述】:
我有一个纯 C# dll,我使用 Unmanaged DLL Export / Robert Giesecke 编译成功,并且可以在 Windows 7 上运行时从 C++ 应用程序调用。该 DLL 是为 Win32 (x86) 编译的。那么同一个程序和DLL在windows XP机器上运行,可执行程序不能调用导出的DLL函数。
这里是导出函数的示例:
[DllExport("SetTerminalHandle", CallingConvention = CallingConvention.Cdecl)]
public static void SetTerminalHandle(int hTerminal, string strTerminalPath, string strAccountServer)
{
terminalHandle = hTerminal;
terminalPath = strTerminalPath;
accountServer = strAccountServer;
}
任何想法。我知道要在 Win 7 w/VS 2012 for C++ 下创建工作的 Windows XP dll 或 exe,您需要将编译器工具设置为 Platform Set 为:Visual Studio 2012 - Windows XP (v110_xp) 您似乎无法使用 C# 编译器执行此操作。
有什么想法吗?
谢谢
【问题讨论】:
-
欢迎来到 StackOverflow。 “不工作”究竟是什么意思? “不能打电话”是什么意思?您收到错误消息吗?如果您希望我们帮助您解决问题,您需要具体说明问题所在——我们看不到您的屏幕或读懂您的想法。请edit您的问题并添加有关该问题的更多具体细节。谢谢。