I'm using Windows 10, Visual Studio 2015.
I read the latest docs here https://www.perforce...p4api/p4api.pdf and tried to follow as strictly as possible. But nothing worked.
The most frustrating think for me was the discrepancy in documentation. For example, the last version of p4api is 2017.1 for vs2015 (which I tried to use) has only 3 libraries in it: libclient.lib, librpc.lib and libsupp.lib, although documentation requires you to again one more - libp4sslstub.lib. My guess is that it is already included in one of those 3.
Trying different combinations of compiler flags (like Runtime Librariy) I get different outputs:
with /MT flag
1>librpc.lib(netsslcredentials.obj) : error LNK2019: unresolved external symbol BIO_new referenced in function "public: void __cdecl NetSslCredentials::GetExpiration(class StrBuf &)" (?GetExpiration@NetSslCredentials@@QEAAXAEAVStrBuf@@@Z) 1>librpc.lib(netsslcredentials.obj) : error LNK2019: unresolved external symbol BIO_ctrl referenced in function "public: void __cdecl NetSslCredentials::GetExpiration(class StrBuf &)" (?GetExpiration@NetSslCredentials@@QEAAXAEAVStrBuf@@@Z) 1>librpc.lib(netsslcredentials.obj) : error LNK2019: unresolved external symbol BIO_free_all referenced in function "public: void __cdecl NetSslCredentials::GetExpiration(class StrBuf &)" (?GetExpiration@NetSslCredentials@@QEAAXAEAVStrBuf@@@Z) ...
with /MTd flag
1>librpc.lib(netsslendpoint.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj 1>librpc.lib(netsslendpoint.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in main.obj 1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library 1>libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: unresolved external symbol _free_dbg ...
I compile x64 debug version