I'm running Activestate Perl 5.14.2 (64 bit), 64 bit Windows 7, Visual
Studio Express 2013 for Windows Desktop.

When I run nmake test for Inline::CPP, I get errors:

        cl -TP -EHsc -c  -I"C:/Perl64/Inline-CPP-0.49/t"  -nologo -GF -W3
-MD -Z
i -DNDEBUG -Ox -GL -fp:precise -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64
-DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE
-DPERL_IMPLICIT_CONTEXT -DPERL_
IMPLICIT_SYS -DUSE_PERLIO -MD -Zi -DNDEBUG -Ox -GL -fp:precise
 -DVERSION=\"0.
00\"  -DXS_VERSION=\"0.00\"  "-IC:\Perl64\lib\CORE"   _04charptr_t_fa7d.c
_04charptr_t_fa7d.c
Running Mkbootstrap for _04charptr_t_fa7d ()
        C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644
_04charptr_t_fa7d.bs
        C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists  -e
"Mksymlists('NAME'=>\"
_04charptr_t_fa7d\", 'DLBASE' => '_04charptr_t_fa7d', 'DL_FUNCS' => {  },
'FUNCLIST' => [], 'IMPORTS' => {  }, 'DL_VARS' => []);"
        link -out:blib\arch\auto\_04charptr_t_fa7d\_04charptr_t_fa7d.dll
-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg
 -libpath:"C:\Perl64\lib\CORE"  -machine:AMD64 _04charptr_t_fa7d.obj
C:\Perl64\lib\CORE\perl514.lib "C:\Program Files (x86)\Microsoft Visual
Studio 12.0\VC\LIB\amd64\oldnames.lib" "C:\Program <...SNIP...>

   Creating library blib\arch\auto\_04charptr_t_fa7d\_04charptr_t_fa7d.lib
and object blib\arch\auto\_04charptr_t_fa7d\_04charptr_t_fa7d.exp
_04charptr_t_fa7d.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)"
(__imp_?_Winerror_map@std@@YAPEBDH@Z)
_04charptr_t_fa7d.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)"
(__imp_?_Syserror_map@std@@YAPEBDH@Z)
_04charptr_t_fa7d.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)"
(__imp_?_Xbad_alloc@std@@YAXXZ)
_04charptr_t_fa7d.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) void __cdecl std::_Xout_of_range(char const *)"
(__imp_?_Xout_of_range@std@@YAXPEBD@Z)
_04charptr_t_fa7d.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)"
(__imp_?_Xlength_error@std@@YAXPEBD@Z)
blib\arch\auto\_04charptr_t_fa7d\_04charptr_t_fa7d.dll : fatal error
LNK1120: 5unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
12.0
\VC\BIN\x86_amd64\link.EXE"' : return code '0x460'
Stop.

A problem was encountered while attempting to compile and install your
Inline
CPP code. The command that failed was:
  C:\PROGRA~2\MICROS~1.0\VC\BIN\nmake.exe > out.make 2>&1



A google surfaced a related issue for someone building boost libraries:
http://stackoverflow.com/questions/20971103/boost-unresolved-external-symbols-when-compiling-linking-with-mt-instead-of

which seemed to be solved by removing the "-nodefaultlib" link option. So I
copied the link command emitted by Inline::CPP and deleted that option and
reran the link, and it seems to work OK.

Do you have any idea how I might be able to suppress that option in the
link commands emitted by Inline ?

TIA,
Dean Arnold

Reply via email to