Pergunta

Estou dolorosamente depuração um legado VS 6.0 aplicativo MFC, e eu realmente gostaria de passo em código MFC. Agora, o código fez navio com VS6, e os símbolos (mfc42.pdb) também, mas o depurador afirma

'símbolos carregados (informação da fonte despojado)'

sobre anexando. Por estas dicas , todas as cópias do Mfc42 PDB na minha máquina está realmente despojado (seu tamanho é 1.5M-2M, longe de 10M). Eu recebo pilhas significativas, mas não sou capaz de passo no código MFC.

Atualmente estou tentando re-compilação MFC para obter símbolos CodeView (sim, a situação é que desparate). Eu tentei seguir este bom passo a passo por Daniel Howard, mas eu continuo batendo nos erros seguinte vinculador:

... delayimp.lib Criando biblioteca .. \ lib \ MFC42.LIB e objeto .. \ lib \ mfc42.exp mfc42.exp: LNK2001: não resolvidos símbolo externo "public: int __thiscall CTime :: operator == (classe CTime) const" (?? 8CTime @@ QBEHV0 @@ Z) mfc42.exp: LNK2001: não resolvidos símbolo externo "public: int __thiscall CTime :: operator = (classe CTime) const" (?? 9CTime @@ QBEHV0 @@ Z) mfc42.exp: Erro LNK2001: Símbolo externo não resolvido "pública: int __thiscall CTime const :: operator <(classe CTime)" (?? MCTime @@ QBEHV0 @@ Z) mfc42.exp: Erro LNK2001: Símbolo externo não resolvido "pública: int __thiscall CTime :: operator> (classe CTime) const" (?? OCTime @@ QBEHV0 @@ Z) MFC42.DLL: Erro fatal LNK1120: 4 externos não resolvidos

CTime foi implementado em TIMECORE.cpp, que na verdade não implementar tais operadores. Eu não conseguia localizar os utilizadores do operador.

Qualquer um tem qualquer visão sobre isso? Algum conselho indireto seria grande demais.

Foi útil?

Solução

É definido em AFX.INL em VC98 \ MFC \ Include \ AFX.INL. Você provavelmente já adicionado apenas o .cpp ao seu projeto.

Entrando no código MFC é um deve ter. código MFC é um must see. Isso faz você humilde e raiva ao mesmo tempo.

Outras dicas

A minha memória é geralmente muito ruim e isso foi há muito tempo, mas eu me lembro que uma versão das bibliotecas compilado e ligado para a depuração foi uma das opções adicionais da VC6 ++ instalador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top