Mam projekt, który łączy się z pół tuzina bibliotek, w tym OpenCV.
Od wersji Release się nie udaje, podczas gdy Debug działa dobrze (tylko o wiele wolniej), chciałem skompilować mój projekt w konfiguracji RelWithDebInfo
.
Jednak wersja bibliotek OpenCV jest dołączana zamiast Release
(OpenCV nie ma wersji RelWithDebInfo
). Powoduje to powiązanie błędy, takie jak:Łącza CMake RelWithDebInfo z bibliotekami debugowania
opencv_core249d.lib (alloc.obj): error LNK2038: niedopasowanie wykryty 'RuntimeLibrary': 'wartość' MDd_DynamicDebug nie odpowiada wartości 'MD_DynamicRelease' w MyProject.obj
Jak rozwiązać ten problem?
Rozwiązuję to, nie używając celu INSTALL w systemie Windows. Zamiast tego wskaż zmienne PROJECTNAME_DIR w folderze głównym, w którym została zbudowana biblioteka. Buduję też wszystkie zależności za pomocą kompilatora, którego używam i nigdy nie używam pakietów binarnych. Jeśli budujesz opencv ze źródła, to nadal eliminuje konfigurację RelWithDebInfo? – drescherjm
Zbudowałem OpenCV ze źródła. Nie miałem tego problemu z wstępnie skompilowanym OpenCV. –