2010-08-15 50 views
0

我有一個使用OpenCV庫的圖像處理C程序。我正在使用Visual Studio 2008進行開發,直到this發生。所以我把整個項目轉移到netbeans(6.9)和MinGW。應用程序未能正確初始化(0xc0150002)

我已經配置netbeans來使用OpenCV庫,如blog中的指導。

但是當我運行它給這個錯誤的程序「應用程序未能正確初始化(0xc0150002)」

我不認爲這個嘗試從硬盤讀取任何圖像文件時發生的。它在主方法中甚至沒有執行第一行就給出錯誤。

我對代碼做的唯一更改是這樣的。

static __inline void release_mem(CvPoint2D64f*, CvPoint2D64f*, static struct feature**); 

這給了我錯誤:storage class specified for parameter 'type name' 所以我改變了代碼(試行和錯誤,而不是任何邏輯)

static __inline void release_mem(CvPoint2D64f*, CvPoint2D64f*, struct feature**); 

回答

1

這是並排側配置問題。您的程序包含一個清單,聲明SxS緩存需要哪個DLL。而Windows無法找到它。從查看Windows事件日誌開始,它會告訴你無法找到哪個DLL。

這是更典型的VS2008問題,它的CRT庫的DLL版本存儲在並排緩存中。像msvcrt90.dll一樣。也許你沒有完全設法將代碼轉換爲新的構建環境。奇怪的是,嵌入清單是一個明確的構建步驟。檢查你的build目錄中沒有.manifest文件。

這個hoopla在VS2010 btw中退役了。 VS2010 Express可能是您的第三次嘗試。

+0

謝謝, 我沒有.manifest文件通過NB項目構建目錄。我只從我的VS項目中複製了c文件和頭文件。 – Niroshan 2010-08-15 18:21:35

+0

那麼,事件日誌說了什麼? – 2010-08-15 18:41:09

+0

對不起, 沒有與此應用程序相關的條目。 (控制面板>管理工具>事件查看器我希望這是查看的正確位置) – Niroshan 2010-08-16 04:42:42