I'm trying to use a DLL (which was compiled using MSVC) with MinGW compiler. Both dll and binary use opencv dll's compiled with corresponding compilers (MSVC for MSVC DLL and MinGW for MinGW binary). However, opencv vesrion is same 2.42.
I can successfully load my DLL (using extern C), but calling SetRect function from DLL results in the following console output:
Set search rect(qt): 162, 119, 50, 50
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
Set search rect(dll): 2282800, 2282908, 2282840, 1874777202
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
(Internal error: pc 0x112 in read in psymtab, but not in symtab.)
Why numbers are different, what is the internal error about and how can I solve it?
Some code, note that Rect class comes from Opencv.
MinGW binary:
std::cout << "Rect(qt): " << rect.x << ", " << rect.y << ", " << rect.width << ", " << rect.height << "\n" << std::flush;
SetRect(rect);
MSVC DLL:
void SetRect(Rect rect)
{
std::cout << ""Rect(dll): " << rect.x << ", " << rect.y << ", " << rect.width << ", " << rect.height << "\n" << std::flush;
}
Thanks.