我試圖在混合模式的C++/CLI項目中使用MimeTex.dll
。包括我的DLL是: #pragma comment(lib,"MimeTex.dll")
從dll調用本地方法
,我試圖調用此方法: CreateGifFromEq("expression","path");
但是編譯器告知它不知道CreateGifFromEq()方法。
我在網上找不到關於如何在C++中使用MimeTex.dll
的資源。我只是找到了如何使用C#中this link通過Pinvok喜歡使用它:
[System.Security.SuppressUnmanagedCodeSecurity()]
internal class NativeMethods
{
private NativeMethods()
{ //all methods in this class would be static
}
[System.Runtime.InteropServices.DllImport("MimeTex.dll")]
internal static extern int CreateGifFromEq(string expr, string fileName);
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
internal extern static IntPtr GetModuleHandle(string lpModuleName);
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
[return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)]
internal extern static bool FreeLibrary(IntPtr hLibModule);
}
,然後調用它像:
NativeMethods.CreateGifFromEq(equation, tempGifFilePath);
我怎麼能在C++/CLI的混合模式稱之爲無Pinvok?
它的作品很棒thx。 – Aan
很高興聽到 –