簡體   English   中英

在DLL“ FreeImageNET”中找不到名為“ FreeImage_GetFileTypeU”的入口點

[英]Unable to find an entry point named 'FreeImage_GetFileTypeU' in DLL 'FreeImageNET'

我剛剛下載了FreeImage 3.15.4 Win32,並嘗試通過其C#示例。 我有一台裝有Visual Studio Express 2010的64位Windows 7計算機,因此我按照此處的說明將示例重新編譯為64位( http://www.sambeauvois.be/blog/2010/05/freeimage-and-x64-projects -是的,您可以 /)。 我還必須在FreeImageStaticImports.cs中更改“ FreeImageLibrary”字符串的名稱,以啟動示例應用程序(生成的DLL被命名為FreeImageNet,而不是示例所期望的FreeImage)。

但是,當我運行示例時,出現“無法在DLL'FreeImageNET'中找到名為'FreeImage_GetFileTypeU'的入口點”。 每當我調用FreeImage函數時都會出錯。 這些示例引用了包含DLLImport語句的庫,因此我不確定在這里有什么壞處。 有沒有人有過FreeImage和C#的經驗,可以提供一些建議? 謝謝!

我還必須更改“ FreeImageLibrary”字符串的名稱

這就是您遇到麻煩的方式。 這里涉及兩個 DLL。 FreeImage.dll是本 DLL,它包含FreeImage_GetFileTypeU導出。 FreeImageNET.dll是托管類庫,其中包含本機DLL的包裝,它沒有異常消息告訴您的導出。

您應該做的是從源代碼重建本機DLL,以便獲得FreeImage.dll的64位版本。 那篇博客文章告訴您如何做到這一點。 並提供了下載,ymmv。

還必須將其復制到構建輸出文件夾中,以便可以在運行時找到它。 一種簡單的方法是使用Project + Add Existing Item將其添加到項目中,並將其“ Copy to Output Directory”屬性設置為“ Copy if new new”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM