#c #32bit-64bit #xll
#c #32-битный-64-битный #xll
Вопрос:
Я переношу XLL с 32-разрядного на 64-разрядный с помощью VS2015 и C .
Я начал менять типы данных. Поэтому я переключил ‘int’ на ‘_int64’.
CPP_XLOPER Create_XLOperHeader_form_Str(const wchar_t*aBegin,_int64 strlen,bool aTranspose){
static CPP_XLOPER xlDefault(L" ");
_int64 l = strlen;
и он выдает мне ошибку:
Error
LNK2001 unresolved external symbol
"class CPP_XLOPER __cdecl Create_XLOperTable_from_Str(wchar_t const *,__int64,bool,bool)"
(?Create_XLOperTable_from_Str@@YA?AVCPP_XLOPER@@PEB_W_J_N2@Z)
Я думаю, мне нужно изменить ‘class CPP_XLOPER’, не так ли?
Любой намек приветствуется, заранее спасибо; излишек
Ответ №1:
Компоновщик метода, на который жалуется, имеет два последних параметра типа bool
— ...,int64,bool,bool)
, в то время как тот, который вы изменили, имеет только один последний параметр типа bool
. Либо вы удалили другой существующий метод, либо вы также удалили его bool
из реализации (и только вы знаете, было ли это преднамеренным или нет). Но да, в целом вы должны исправить объявление функции, чтобы оно соответствовало определению.
Комментарии:
1. Ох. Вы правы. Я должен был это увидеть. Спасибо большое! Подтверждены ли миграции с 32 на 64 бит? Приветствую излишек