errore “simbolo esterno non risolto” durante il collegamento con OpenCV 3.0

Costruisco OpenCV 3.0 dalla fonte. E con il repository contrib per alcuni moduli extra. E ho configurato manualmente il mio progetto VS2013 per utilizzare i file lib generati.

Il mio codice è semplice per ora:

#include "opencv2\core\core.hpp" #include "opencv2\imgcodecs\imgcodecs.hpp" int _tmain(int argc, _TCHAR* argv[]) { cv::Mat image = cv::imread("img.jpg"); return 0; } 

Ma mi ha dato questi errori quando nella versione della community di VS 2013:

inserisci la descrizione dell'immagine qui

Vedo thread simili , hanno detto che è causato dal problema x86 / x64. Ma il mio progetto è già x86. E l’OpenCV che ho creato si occupa anche di x86 (vedi sotto). Quale motivo potrebbe essere?

inserisci la descrizione dell'immagine qui

AGGIUNGI 1

Il progetto di installazione OpenCV 3.0 genera la seguente directory lib:

Quindi è davvero uno x86 .

inserisci la descrizione dell'immagine qui

Il mio percorso di lib è configurato per il percorso sopra:

inserisci la descrizione dell'immagine qui

E ho aggiunto tutti i file *d.lib .

inserisci la descrizione dell'immagine qui

E di seguito è il Configuration Manager del mio progetto VC

inserisci la descrizione dell'immagine qui

Quindi è davvero anche x86 .

Dove potrebbe essere sbagliato?

AGGIUNGI 2

Ho cercato manualmente la funzione fastFree() . È definito nel file opencv_core300d.lib . Io uso il comando dumpbin /symbols per controllare i simboli. E trovo che il suo nome sia storpiato esattamente come [email protected]@@[email protected] Quindi, perché non può essere trovato?