Я пытаюсь скомпилировать gsoap с VS 2017 для x64. Есть предупреждение компилятора, потому что void*
(64-битный адрес) приводится к unsigned int
(32-битное целое число). Это происходит в h = soap_hash_ptr(p)
, где p - void*
, а h - unsigned int
.
Это выглядит критически - поэтому я посмотрел stdsoap2.cpp
текущей версии gsoap - там, однако, soap_hash_ptr
, кажется, делает то же самое через PtrToUlong
- я хочу сохранить gsoap, что здорово - но могу ли я все же положитесь - возможно, да, потому что возвращаемое значение soap_hash_ptr
используется в качестве индекса для массива или вектора (либо soap->mht
, либо soap->pht
) - однако я еще не совсем уверен - может кто-нибудь дать мне подсказку? Спасибо.
- IDE: VS2017
- Цель: x64
- версия gsoap: Приблизительно год 2005