Jump to content


P4API.Net 19.1 won't build


  • Please log in to reply
1 reply to this topic

#1 JamesNix

JamesNix

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 11 November 2019 - 08:58 PM

Hey,

I have been running 18.1 for some time and I've discovered a problematic issue.  I'm hoping 19.1 (or .2) will solve it, but I can't get it to build.  The 19.2 source doesn't have lib/include packages on the FTP (ftp://ftp.perforce.com/perforce/r19.2/).  The 19.1 folders have it and I've tried to get it set up, but the p4bridge fails in the linking stage with the following errors:

1>libclient.lib(client.obj) : error LNK2019: unresolved external symbol "public: __thiscall ClientScript::ClientScript(class Client *)" (??0ClientScript@@QAE@PAVClient@@@Z) referenced in function "public: __thiscall Client::Client(class Enviro *)" (??0Client@@QAE@PAVEnviro@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2001: unresolved external symbol "public: __thiscall ClientScript::ClientScript(class Client *)" (??0ClientScript@@QAE@PAVClient@@@Z)
1>libclient.lib(client.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall ClientScript::CanLoad(void)const " (?CanLoad@ClientScript@@QBE_NXZ) referenced in function "public: void __thiscall Client::Init(class Error *)" (?Init@Client@@QAEXPAVError@@@Z)
1>libclient.lib(client.obj) : error LNK2019: unresolved external symbol "public: bool __thiscall ClientScript::BuildCheck(void)const " (?BuildCheck@ClientScript@@QBE_NXZ) referenced in function "public: void __thiscall Client::EnableExtensions(class Error *)" (?EnableExtensions@Client@@QAEXPAVError@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2019: unresolved external symbol "public: struct ExtensionCallerData * __thiscall Extension::GetECD(void)" (?GetECD@Extension@@QAEPAUExtensionCallerData@@XZ) referenced in function "void __cdecl clientSingleSignon(class Client *,class Error *)" (?clientSingleSignon@@YAXPAVClient@@PAVError@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall ClientScript::~ClientScript(void)" (??1ClientScript@@UAE@XZ) referenced in function "void __cdecl clientSingleSignon(class Client *,class Error *)" (?clientSingleSignon@@YAXPAVClient@@PAVError@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2019: unresolved external symbol "public: void __thiscall ClientScript::SetSearchPattern(char const *)" (?SetSearchPattern@ClientScript@@QAEXPBD@Z) referenced in function "void __cdecl clientSingleSignon(class Client *,class Error *)" (?clientSingleSignon@@YAXPAVClient@@PAVError@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2019: unresolved external symbol "public: class std::vector<class std::unique_ptr<class Extension,struct std::default_delete<class Extension> >,class std::allocator<class std::unique_ptr<class Extension,struct std::default_delete<class Extension> > > > & __thiscall ClientScript::GetExts(void)" (?GetExts@ClientScript@@QAEAAV?$vector@V?$unique_ptr@VExtension@@U?$default_delete@VExtension@@@std@@@std@@V?$allocator@V?$unique_ptr@VExtension@@U?$default_delete@VExtension@@@std@@@std@@@2@@std@@XZ) referenced in function "void __cdecl clientSingleSignon(class Client *,class Error *)" (?clientSingleSignon@@YAXPAVClient@@PAVError@@@Z)
1>libclient.lib(clientservice.obj) : error LNK2019: unresolved external symbol "public: virtual void __thiscall ClientScript::LoadScripts(bool,class Error *)" (?LoadScripts@ClientScript@@UAEX_NPAVError@@@Z) referenced in function "void __cdecl clientSingleSignon(class Client *,class Error *)" (?clientSingleSignon@@YAXPAVClient@@PAVError@@@Z)

I've tried several of the lib packages, but the one I am currently on is: p4api_vs2017_static_vsdebug_openssl1.1.1-x86.

Please advise on either getting 19.1 working or where I can get the lib packages for 19.2.

Here is what I pulled down:
ftp://ftp.perforce.com/perforce/r19.1/bin.ntx86/p4api.net-src.zip
ftp://ftp.perforce.com/perforce/r19.1/bin.ntx86/p4api_vs2017_static_vsdebug_openssl1.1.1.zip
https://slproweb.com...nSSL-1_1_1d.exe (OpenSSL Libs)

I am running VS2017 (15.9.14) and alternatively VS2019 (16.3.4).
I can run any .Net version, but I’m trying to build with 4.7.2, although it isn’t the .Net code that won’t compile, it is the p4bridge which is not .Net. but C++ non-managed.


Thanks,
James Nix

#2 JamesNix

JamesNix

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 12 November 2019 - 05:50 PM

Although this is NOT A FIX, to get the p4api.net code to build SANS the p4bridge, I have turned off building of the bridge the configuration manager and then dropped the pre-built bridge dll in the bin\Debug folder.  This allows me to at least build and debug the C# portion of the API.

This does NOT resolve the issue above, but offers me the ability to address my immediate problem.  I still need to be able to build the p4bridge!!




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users