Jaka jest różnica między _imp i __imp?
Znalazłem interesujący błąd, gdy próbowałem połączyć się z biblioteką skompilowaną w MSVC przy użyciu MinGW podczas pracy w Qt Creator. Linker skarżył się na brakujący symbol_imp_FunctionName
. Kiedy zdałem sobie sprawę, że to z powodu braku externera „C” i naprawiłem go, uruchomiłem kompilator MSVC za pomocą / FAcs, aby zobaczyć, jakie są symbole. Okazuje się, że to było__imp_FunctionName
(w taki sam sposób czytałem w MSDN i sporo witryn blogerów guru).
Jestem całkowicie zdezorientowany tym, jak linker MinGW narzeka na symbol zaczynający się od_imp
, ale jest w stanie znaleźć to ładnie, chociaż zaczyna się od__imp
. Czy magik głębokiego kompilatora może rzucić na to trochę światła? Użyłem Visual Studio 2010.