Perforce C++ API VS2017 Compile Error (Need For Help)

Hello Everyone,

I’m pretty new to C++ and Perforce C++ API.

Recently, I’m working on my own Perforce Client and I met some compile errors for my x64 test code.

I follow the guide from Perforce Official.

I use the VS2017 X64 Native Tools Command Prompt to compile the OpenSSL 1.0.2t which is suitable for the p4api_vs2017_static_openssl1.0.2.zip(API ).

After I setup the VS project as the pictures bellow.




When I compile the project, it shows up the following errors.


|Severity|Code|Description|Project|File|Line|Suppression State|Tool|
|---|---|---|---|---|---|---|---|
|Warning|LNK4044|unrecognized option '/DOS_NT'; ignored|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\LINK|1||Link|
|Warning|LNK4044|unrecognized option '/MT'; ignored|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\LINK|1||Link|
|Warning|LNK4044|unrecognized option '/DCASE_INSENSITIVE'; ignored|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\LINK|1||Link|
|Error|LNK2001|unresolved external symbol __imp_ShellExecuteExA|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(runshell.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CoInitializeEx|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(runshell.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertCloseStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertCloseStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertEnumCertificatesInStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertEnumCertificatesInStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertFreeCertificateContext|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertFreeCertificateContext|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertGetEnhancedKeyUsage|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertGetIntendedKeyUsage|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertOpenSystemStoreA|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libp4api.lib(openssl.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetProcessWindowStation|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(cryptlib.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetUserObjectInformationW|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(cryptlib.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_MessageBoxW|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(cryptlib.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertOpenStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertFindCertificateInStore|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertDuplicateCertificateContext|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CertGetCertificateContextProperty|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(e_capi.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_CreateCompatibleBitmap|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_DeleteObject|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetDeviceCaps|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetDIBits|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetObjectW|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_GetDC|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK2001|unresolved external symbol __imp_ReleaseDC|P4ApiTest|F:\QtProjects\P4\p4ApiTest\P4ApiTest\P4ApiTest\libeay32.lib(rand_win.obj)|1||Link|
|Error|LNK1120|22 unresolved

I don’t know what’s wrong with this.

Looking for your reply.

Thank you very much