(примечание: я использую Visual Studio 2013)
Я пытаюсь использовать RakNet в своем проекте, но у меня много проблем.
Если я пытаюсь скомпилировать без файла lib:
Error 2 error LNK2019: unresolved external symbol
"public: __thiscall RakNet::SystemAddress::SystemAddress(void)"(??0SystemAddress@RakNet@@QAE@XZ) referenced in function
"void __cdecl RakNet::`dynamic initializer for 'UNASSIGNED_SYSTEM_ADDRESS''(void)"(??__EUNASSIGNED_SYSTEM_ADDRESS@RakNet@@YAXXZ) E:\Fazbear Entertainment\FEplusplus\server\server.obj _server
Если я попытаюсь скомпилировать статический lib-файл RakNet, скомпилированный мной в VS2013:
Error 5 error LNK2019: unresolved external symbol "public: static void __cdecl
RakNet::RakNetSocket2::DomainNameToIP(char const *,char * const)"(?DomainNameToIP@RakNetSocket2@RakNet@@SAXPBDQAD@Z) referenced in function
"public: bool __thiscall RakNet::SystemAddress::SetBinaryAddress(char const *,char)"(?SetBinaryAddress@SystemAddress@RakNet@@QAE_NPBDD@Z) E:\Fazbear Entertainment\FEplusplus\server\RakNetLibStatic.lib(RakNetTypes.obj) _server
Error 2 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in server.obj E:\Fazbear Entertainment\FEplusplus\server\RakNetLibStatic.lib(RakNetTypes.obj) _serverError 3 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MDd_DynamicDebug' in server.obj E:\Fazbear Entertainment\FEplusplus\server\RakNetLibStatic.lib(RakNetTypes.obj) _server
Я получаю эти ошибки только если я #include "RakPeerInterface.h"
,
Может быть, это поможет, если я найду предварительно скомпилированную библиотеку?
Мне пришлось добавить исходные файлы RakNet в проект. Я слышал это раньше, когда гуглил, но не до конца понял, что это значит … но теперь это работает. (создайте папку / фильтр в проекте VC ++ и добавьте файлы raknet в исходную папку, чтобы они компилировались с вашей программой)
Других решений пока нет …