Error de símbolo externo no resuelto que se produce solo en el modo de 64 bits y no en una compilación de 32 bits

Tengo un código VC ++ (creado con VS2008), que hace uso de algunas bibliotecas estáticas (archivos * .lib vinculados estáticamente durante el tiempo de compilación).

Para facilitar la comprensión, vamos a referir mi código EXE como "AAA.EXE" y a los archivos lib como "A.lib", b.lib, etc.

Tanto el código AAA.EXE como el código de las bibliotecas estáticas se crean utilizando VS2008.

Veo que mi "AAA.EXE" funciona bien en la versión de 32 bits y muestra los siguientes errores del enlazador cuando AAA.EXE se construye en modo de 64 bits.

Por supuesto, he reconstruido las bibliotecas estáticas en modo de 64 bits y proporcioné la ruta lib en mi AAA.EXE así: "Propiedades de configuración del proyecto correspondientes a AAA.EXE -> Vinculador -> General / Entrada".

Este error del enlazador realmente me está molestando desde hace mucho tiempo. Cualquier ayuda es muy 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

También para agregar ::

He realizado 2 cambios en la configuración para hacer que mi código AAA.exe de 64 bits desde 32 bits :: 1)

2)

Por supuesto, el código es compatible tanto para 32 bits como para 64 bits. ¿Se han completado estos 2 cambios de configuración en VC2008 para que la compilación de 64 bits del código AAA.exe de 32 bits?

Al mirar otro enlace de stackoverflow, veo que hay una configuración más en "Propiedades de configuración del proyecto -> Vinculador-> Avanzado-> La máquina de destino está predeterminada como" no establecida "y si hago la máquina de destino ==" MACHINEx64 ", obtengo un diferente tipo de error que estaba recibiendo antes:

"error fatal LNK1112: el módulo tipo de máquina 'X86' entra en conflicto con el tipo de máquina de destino 'x64'"

¿Realmente no tengo claridad sobre si debo configurar el campo "Máquina de destino" en la opción del enlazador como "No establecido" o "MACHINEx64"?

Si es un "SÍ", necesito averiguar cómo solucionar el problema.

Respuestas a la pregunta(4)

Su respuesta a la pregunta