Erro de símbolo externo não resolvido que ocorre apenas no modo de 64 bits e não na compilação de 32 bits

Eu tenho um código VC ++ (construído usando VS2008), que faz uso de algumas bibliotecas estáticas (arquivos * .lib vinculados estaticamente durante o tempo de compilação).

Para facilitar a compreensão, vamos referir meu código EXE como "AAA.EXE" e referir os arquivos lib como "A.lib", b.lib etc ...

O código AAA.EXE e o código de bibliotecas estáticas são criados usando o VS2008.

Eu vejo que meu "AAA.EXE" está funcionando bem na versão de 32 bits e mostrando os erros de vinculador abaixo quando AAA.EXE é construído no modo de 64 bits.

É claro que reconstruí as bibliotecas estáticas no modo de 64 bits e forneci o caminho da lib no meu AAA.EXE da seguinte forma: "Propriedades de configuração do projeto correspondentes a AAA.EXE -> Linker -> General / Input".

Esse erro de vinculador está realmente me incomodando há muito tempo. Qualquer ajuda é muito apreciada.

Logger.lib(Loggerr.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CWTTLogger::CWTTLogger(void)" (__imp_??0CWTTLogger@@QAE@XZ)    

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CWTTLogger::~CWTTLogger(void)" (__imp_??1CWTTLogger@@UAE@XZ)    

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionA(unsigned short *,long *)" (__imp_?FunctionA@CWTTLogger@@QAEJPAGPAJ@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionB(unsigned short *,long)" (__imp_?FunctionB@CWTTLogger@@QAEJPAGJ@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionC(unsigned short *,unsigned long,unsigned short *,long)" (__imp_?FunctionC@CWTTLogger@@QAEJPAGK0J@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __cdecl CWTTLogger::FunctionD(unsigned long,long,...)" (__imp_?FunctionD@CWTTLogger@@QAAJKJZZ)             

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionE(unsigned short *,long)" (__imp_?FunctionE@CWTTLogger@@QAEJPAGJ@Z)         


1>C:\Users\User1\Documents\XYZ\Code\64bit\aaa.exe: fatal error LNK1120: 7 unresolved externals

Também para adicionar ::

Eu fiz 2 alterações nas configurações para tornar meu código AAA.exe 64 bits de 32 bits :: 1)

2)

É claro que o código é compatível tanto para 32 bits quanto para 64 bits. Essas duas alterações de configurações no VC2008 foram concluídas para a criação do código AAA.exe de 32 bits de 64 bits?

Ao olhar para outro link de stackoverflow eu vejo que há mais um settoing em "Propriedades de configuração do projeto -> Linker-> Avançado-> Máquina de destino é padrão para" não definir "e se eu fizer máquina de destino ==" MACHINEx64 ", recebo um tipo diferente de erro que eu estava ficando mais cedo ::

"erro fatal LNK1112: tipo de máquina do módulo 'X86' está em conflito com o tipo de máquina de destino 'x64'"

Eu realmente não estou tendo uma clareza sobre se eu deveria estar definindo o campo "Target machine" na opção de linker como "Not Set" ou "MACHINEx64"?

Se é um "sim", eu preciso descobrir como consertar o problema.

questionAnswers(4)

yourAnswerToTheQuestion