[p4perl] 8 hrs invested, 1 unresolved external symbol to go...

Dan Lindy dan.lindy at gmail.com
Tue Jul 24 09:03:36 PDT 2007


I believe my environment is set correctly. I had to add the M$ Platform SDK
in order to resolve some references (e.g. windows.h). Below is the modified
script I used to set up the environment prior to running Makefile.pl and
nmake:

@SET VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8
@SET VCINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8\VC
@SET FrameworkDir=C:\WINNT\Microsoft.NET\Framework
@SET FrameworkVersion=v2.0.50727
@SET FrameworkSDKDir=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0
@if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR

@echo Setting environment for using Microsoft Visual Studio 2005 x86 tools.

@rem
@rem Root of Visual Studio IDE installed files.
@rem
@set DevEnvDir=C:\Program Files\Microsoft Visual Studio 8\Common7\IDE

@set PATH=C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program
Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual
Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\bin;C:\WINNT\Microsoft.NET\Framework\v2.0.50727;C:\Program
Files\Microsoft Visual Studio 8\VC\VCPackages;%PATH%
@set INCLUDE=C:\Program Files\Microsoft Visual Studio
8\VC\INCLUDE;C:\Program Files\Microsoft Platform SDK\Include;%INCLUDE%
@set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program
Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\Microsoft
Platform SDK\Lib;%LIB%
@set LIBPATH=C:\WINNT\Microsoft.NET\Framework\v2.0.50727

@goto end

:error_no_VSINSTALLDIR
@echo ERROR: VSINSTALLDIR variable is not set.
@goto end

:error_no_VCINSTALLDIR
@echo ERROR: VCINSTALLDIR variable is not set.
@goto end

:end





On 7/24/07, Tony Smith <tony at smee.org> wrote:
>
> Hi Dan,
>
> > Still trying to get p4perl to install, keeping things as plain-vanilla
> as I
> > can:
> >
> > - Windows XP
> > - ActiveState Perl v5.8.8 (latest, I believe)
> > - M$ Visual C++ Express
> > - P4-3.5708
> > - API 2004.2.83213
>
> It's worth noting that P4Perl 3.5708 was built with the 2006.1 API. While
> it
> should work with an older version (such as the 2004.2 version you're
> using),
> it almost certainly won't work with a newer one.
>
> > Any help at all would be greatly appreciated...
>
> See below.
>
> > libsupp.lib(fileiont.obj) : error LNK2001: unresolved external symbol
> __iob
> > libsupp.lib(diffsp.obj) : error LNK2001: unresolved external symbol
> __iob
> > libclient.lib(clientuser.obj) : error LNK2019: unresolved external
> symbol
> > __iob referenced in function "public: virtual
> > void __thiscall ClientUser::OutputError(char *)"
> (?OutputError at ClientUser@@
> > UAEXPAD at Z)
> > libsupp.lib(debug.obj) : error LNK2001: unresolved external symbol __iob
> > libsupp.lib(echoctl.obj) : error LNK2001: unresolved external symbol
> __iob
> > libsupp.lib(errorlog.obj) : error LNK2001: unresolved external symbol
> __iob
> > blib\arch\auto\P4\P4.dll : fatal error LNK1120: 1 unresolved externals
> > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
> > 8\VC\BIN\link.EXE"' : return code '0x460'
>
> __iob is part of the stdio library. I can't imagine why your linker can't
> find
> that - unless your Visual Studio environment is messed up? I assume LIB,
> INCLUDE and all the other required VS environment variables are set
> correctly? Usually there's a vcvars32.bat file you can run to set them up
> before using the compilers from the command line.
>
> Can you check that and let us know if it helps?
>
> Thanks,
>
> Tony
>
>
>
> --------------------------------------------------------------------------------
> This email and any files transmitted with it are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.
> If
> you have received this email in error please notify the system manager.
> Please
> note that any views or opinions presented in this email are solely those
> of the
> author and do not necessarily represent those of Perforce Software.
> Finally,
> the recipient should check this email and any attachments for the presence
> of
> viruses. Perforce Software accepts no liability for any damage caused by
> any
> virus transmitted by this email.
>
> Perforce Software UK Ltd is registered in England and Wales as company no.
> 3816019 at the following address: West Forest Gate, Wellington Road,
> Wokingham,
> RG40 2AQ, UK
>
> --------------------------------------------------------------------------------
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.perforce.com/pipermail/p4perl/attachments/20070724/e2dca874/attachment-0001.html>


More information about the p4perl mailing list