Discussion:
Link error for Intel C++ 11.0 on Windows XP
(too old to reply)
Chris Hulbert
2009-05-28 14:50:07 UTC
Permalink
I'm trying to build wxWidgets svn trunk with the Intel C++ compiler.
The error I get is below. wxUSE_STD_IOSTREAMS is on. The link is
successful when built with MS Visual Studio 2003 .NET. Is this an
issue with the Intel compiler, or does MS just seem to support some
extension? If it is an issue with the Intel compiler, is there an easy
way to report it to Intel other than just tell them that I can't build
wxWidgets trunk? In other words, I am not sure what is going wrong so
cannot make a minimal example to demonstrate this. Building without
standard io streams seems to work, so it may not be a big deal.


link /DLL /NOLOGO /OUT:..\..\lib\intel_dll
\wxmsw290_intel_isl_intel.dll /pdb:"..\..\lib\intel_dll
\wxmsw290_intel_isl_intel.pdb" /LIBPATH:..\..\lib\intel_dll @c:\temp
\nm82D.tmp
Creating library ..\..\lib\intel_dll\wxmsw29.lib and object ..\..
\lib\intel_dll\wxmsw29.exp
monodll_string.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl std::operator<<(class
std::basic_ostream<char,struct std::char_traits<char> > &,char const
*)" (__imp_??6std@@YAAAV?$***@DU?
$***@D@std@@@***@AAV10@***@Z) referenced in function "class
std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
operator<<(class std::basic_ostream<char,struct std::char_traits<char>
$***@DU?$***@D@std@@@std@@***@ABV?
$***@D@@@Z)
monodll_variant.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl std::operator<<(class
std::basic_ostream<char,struct std::char_traits<char> > &,char const
*)" (__imp_??6std@@YAAAV?$***@DU?
$***@D@std@@@***@AAV10@***@Z)
..\..\lib\intel_dll\wxmsw290_intel_isl_intel.dll : fatal error
LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
Chris Brulak
2009-05-28 15:12:26 UTC
Permalink
Did you build wx with unicode on? I think that may be an issue.

On 28-May-09, at 8:50 AM, Chris Hulbert <***@gmail.com> wrote:



I'm trying to build wxWidgets svn trunk with the Intel C++ compiler.
The error I get is below. wxUSE_STD_IOSTREAMS is on. The link is
successful when built with MS Visual Studio 2003 .NET. Is this an
issue with the Intel compiler, or does MS just seem to support some
extension? If it is an issue with the Intel compiler, is there an easy
way to report it to Intel other than just tell them that I can't build
wxWidgets trunk? In other words, I am not sure what is going wrong so
cannot make a minimal example to demonstrate this. Building without
standard io streams seems to work, so it may not be a big deal.


link /DLL /NOLOGO /OUT:..\..\lib\intel_dll
\wxmsw290_intel_isl_intel.dll /pdb:"..\..\lib\intel_dll
\wxmsw290_intel_isl_intel.pdb" /LIBPATH:..\..\lib\intel_dll @c:\temp
\nm82D.tmp
Creating library ..\..\lib\intel_dll\wxmsw29.lib and object ..\..
\lib\intel_dll\wxmsw29.exp
monodll_string.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl std::operator<<(class
std::basic_ostream<char,struct std::char_traits<char> > &,char const
*)" (__imp_??6std@@YAAAV?$***@DU?
$***@D@std@@@***@AAV10@***@Z) referenced in function "class
std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
operator<<(class std::basic_ostream<char,struct std::char_traits<char>
&,class wxScopedCharTypeBuffer<char> const &)" (??***@YAAAV?
$***@DU?$***@D@std@@@std@@***@ABV?
$***@D@@@Z)
monodll_variant.obj : error LNK2001: unresolved external symbol
"__declspec(dllimport) class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl std::operator<<(class
std::basic_ostream<char,struct std::char_traits<char> > &,char const
*)" (__imp_??6std@@YAAAV?$***@DU?
$***@D@std@@@***@AAV10@***@Z)
..\..\lib\intel_dll\wxmsw290_intel_isl_intel.dll : fatal error
LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
Vadim Zeitlin
2009-05-28 15:17:14 UTC
Permalink
On Thu, 28 May 2009 07:50:07 -0700 (PDT) Chris Hulbert <***@gmail.com> wrote:

CH> I'm trying to build wxWidgets svn trunk with the Intel C++ compiler.
CH> The error I get is below. wxUSE_STD_IOSTREAMS is on. The link is
CH> successful when built with MS Visual Studio 2003 .NET. Is this an
CH> issue with the Intel compiler, or does MS just seem to support some
CH> extension?

It's not really an extension but instantiating templates defined in a DLL
(CRT DLL in this case) is tricky and it appears that icc and cl do it
differently. FWIW I think that using static CRT might solve this problem.

CH> monodll_string.obj : error LNK2019: unresolved external symbol
CH> "__declspec(dllimport) class std::basic_ostream<char,struct
CH> std::char_traits<char> > & __cdecl std::operator<<(class
CH> std::basic_ostream<char,struct std::char_traits<char> > &,char const
CH> *)" (__imp_??6std@@YAAAV?$***@DU?
CH> $***@D@std@@@***@AAV10@***@Z) referenced in function "class
CH> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
CH> operator<<(class std::basic_ostream<char,struct std::char_traits<char>
CH> > &,class wxScopedCharTypeBuffer<char> const &)" (??***@YAAAV?
CH> $***@DU?$***@D@std@@@std@@***@ABV?
CH> $***@D@@@Z)

This is strange as the linker points to operator<<(wxScopedCharBuffer)
even though it's not defined anywhere in the first place AFAICS. So another
idea for a solution/workaround would be to define this operator explicitly.

CH> monodll_variant.obj : error LNK2001: unresolved external symbol
CH> "__declspec(dllimport) class std::basic_ostream<char,struct
CH> std::char_traits<char> > & __cdecl std::operator<<(class
CH> std::basic_ostream<char,struct std::char_traits<char> > &,char const
CH> *)"

And this is strange too as operator<<(char const *) should definitely be
defined (otherwise cout << "Hello world!" wouldn't work!). But I have even
less ideas about what's going on here unfortunately.

Regards,
VZ
--
TT-Solutions: wxWidgets consultancy and technical support
http://www.tt-solutions.com/
Chris Hulbert
2009-06-01 21:35:18 UTC
Permalink
Post by Vadim Zeitlin
CH> I'm trying to build wxWidgets svn trunk with the Intel C++ compiler.
CH> The error I get is below. wxUSE_STD_IOSTREAMS is on. The link is
CH> successful when built with MS Visual Studio 2003 .NET. Is this an
CH> issue with the Intel compiler, or does MS just seem to support some
CH> extension?
 It's not really an extension but instantiating templates defined in a DLL
(CRT DLL in this case) is tricky and it appears that icc and cl do it
differently. FWIW I think that using static CRT might solve this problem.
CH> monodll_string.obj : error LNK2019: unresolved external symbol
CH> "__declspec(dllimport) class std::basic_ostream<char,struct
CH> std::char_traits<char> > & __cdecl std::operator<<(class
CH> std::basic_ostream<char,struct std::char_traits<char> > &,char const
CH> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
CH> operator<<(class std::basic_ostream<char,struct std::char_traits<char>
 This is strange as the linker points to operator<<(wxScopedCharBuffer)
even though it's not defined anywhere in the first place AFAICS. So another
idea for a solution/workaround would be to define this operator explicitly.
CH> monodll_variant.obj : error LNK2001: unresolved external symbol
CH> "__declspec(dllimport) class std::basic_ostream<char,struct
CH> std::char_traits<char> > & __cdecl std::operator<<(class
CH> std::basic_ostream<char,struct std::char_traits<char> > &,char const
CH> *)"
 And this is strange too as operator<<(char const *) should definitely be
defined (otherwise cout << "Hello world!" wouldn't work!). But I have even
less ideas about what's going on here unfortunately.
Apparently, Intel has identified an issue that is also occurring with
their 11.1 compilers. They have submitted it to the engineering
department. Thanks for the help.

Chris
Post by Vadim Zeitlin
 Regards,
VZ
--
TT-Solutions: wxWidgets consultancy and technical support
               http://www.tt-solutions.com/
 application_pgp-signature_part
< 1KViewDownload
Continue reading on narkive:
Loading...