Как продолжение вопроса Неразрешенный внешний символ MSVC, связывающий исполняемые файлы .A
содержит и класс P
с двумя функциями-членами F
и G
, а также содержит глобальный P MyP
.Я пытаюсь вызвать функции MyP.F
из исполняемого файла T
.Я наконец-то прошел через связующую часть, но теперь она не работает во время выполнения за исключением.
A.cpp
struct P {
void F();
void G();
} MyP;
P::F() {
}
P::G() {
}
int main() {
MyP.F();
MyP.G();
}
T.cpp
struct P {
void F();
void G();
} MyP;
int main() {
MyP.F();
MyP.G();
}
Я могупоставить точку останова в T
в строке, где она вызывает F
в Visual Studio 2008, но когда я нажимаю кнопку, чтобы войти или перешагнуть, я получаю исключение First-chance exception at 0xfe5ca589 in A.exe: 0xC0000005: Access reading location 0xfe5ca589
.Когда я смотрю на стек вызовов, он показывает
fe5ca589 ()
A.exe! G () + 0x60a6 байт
[Кадры ниже могут быть неправильными и / или отсутствующими, нетсимволы, загруженные для A.exe]
Оба проекта являются частью одного и того же решения Visual Studio, и A
правильно настроен как зависимость для T
и, похоже, правильно связывается, ноЯ не могу вступить в это.У кого-нибудь есть идеи, как заставить Visual Studio загружать символы для A
, чтобы я мог зайти в нее и найти ошибку?(Или, если что-то смешно связано с ошибкой?)