You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@stdcxx.apache.org by Nadine Faizant <na...@nautitia.fr> on 2007/01/03 12:14:26 UTC
error LNK2005 : VC8
Hello,
I encoutered many errors around deque object while linking with stdcxx with only one project. I don't understand what's wrong.
For example :
Graph.lib(Graph.dll) : error LNK2005: "public: class __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class std::__rw_deque_iter > > __thiscall std::deque >::end(void)" (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ) déjà défini(e) dans homoSyntagmaticConstraints.obj
I used Graph.lib with other dll without any problem. So I think the problem came with the homoSyntagmaticConstraints.cpp file... but I don't what to search !
Thanks for help,
Nadine
PS : attached buildLog.htm
--------------------------------------------------------------------------------
Nadine Faizant
NewPhenix
Z.A. - 5, Rue de l'Auberte
30 133 Les Angles
Tél : 04 90 26 74 82
Fax : 04 90 26 90 84
Courriel : nadine.faizant@nautitia.fr
--------------------------------------------------------------------------------
Re: error LNK2005 : VC8
Posted by Martin Sebor <se...@roguewave.com>.
Nadine Faizant wrote:
>
> Hello,
>
> I encoutered many errors around deque object while linking with
> stdcxx with only one project. I don't understand what's wrong.
It's hard to say from just the error message. We need to see the full
compiler and linker line for both objects and libraries to be able to
tell what might be causing it.
Martin
>
> For example :
>
> Graph.lib(Graph.dll) : error LNK2005: "public: class
> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
> std::__rw_deque_iter > > __thiscall std::deque >::end(void)"
> (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
> déjà défini(e) dans homoSyntagmaticConstraints.obj
>
> I used Graph.lib with other dll without any problem. So I think the
> problem came with the homoSyntagmaticConstraints.cpp file... but I don't
> what to search !
>
> Thanks for help,
>
> Nadine
>
> PS : attached buildLog.htm
>
>
> ------------------------------------------------------------------------
> <>*Nadine Faizant*
> *NewPhenix*
> Z.A. - 5, Rue de l'Auberte
> 30 133 Les Angles
>
> Tél : 04 90 26 74 82
> Fax : 04 90 26 90 84
> Courriel : nadine.faizant@nautitia.fr <ma...@nautitia.fr>
> ------------------------------------------------------------------------
Re: error LNK2005 : VC8
Posted by Martin Sebor <se...@roguewave.com>.
Andrew Black wrote:
> Greetings Nadine.
>
> I don't see the buildLog.html attachment, but it may have been stripped
> by ezmlm. Is this a static build? If it is, the cause may be that the
> standard library is being linked both in the Graph.lib library and and
> the project, resulting in the duplicate symbol message. If this is the
> cause, we're looking into solutions on the development branch.
Just to clarify: we're actually looking into linking our archive
library with the MSVC runtime dll so that downstream code that
depends on third party DLLs linked against the runtime DLL doesn't
end up with two copies of the same runtime (not stdcxx) symbols.
The error below looks like problem with one of our symbols.
Martin
>
> --Andrew Black
>
> Nadine Faizant wrote:
>> Hello,
>>
>> I encoutered many errors around deque object while linking with
>> stdcxx with only one project. I don't understand what's wrong.
>>
>> For example :
>> Graph.lib(Graph.dll) : error LNK2005: "public: class
>> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
>> std::__rw_deque_iter > > __thiscall std::deque >::end(void)"
>> (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
>> déjà défini(e) dans homoSyntagmaticConstraints.obj
>>
>> I used Graph.lib with other dll without any problem. So I think the
>> problem came with the homoSyntagmaticConstraints.cpp file... but I
>> don't what to search !
>>
>> Thanks for help,
>>
>> Nadine
>>
>> PS : attached buildLog.htm
>>
>>
>>
>> --------------------------------------------------------------------------------
>>
>>
>> Nadine Faizant NewPhenix Z.A. - 5, Rue de l'Auberte 30 133 Les Angles
>>
>> Tél : 04 90 26 74 82 Fax : 04 90 26 90 84 Courriel :
>> nadine.faizant@nautitia.fr
>> --------------------------------------------------------------------------------
>>
>>
Re: error LNK2005 : VC8
Posted by Martin Sebor <se...@roguewave.com>.
Nadine Faizant wrote:
[...]
> So, in graph lib I have a Class A which inherits of deque that I have declare as
>
> Class DLLExportGraph : public B, public std::deque<C>
I'll bet this is it. Here's my theory (I'm not quite done moving
and my Windows box isn't back up yet so I haven't confirmed it in
a test case.)
Since you're exporting the derived class, members of the derived
class are part of the DLL ABI. But since the base isn't exported
its members are not. When you import the derived class, you get
the definitions of its members exported from the DLL but you get
new copies of the (non-exported) base members.
What I suspect you need to do in addition to declaring the derived
class exported is do the same for std::deque<C> in graph.{dll,lib}
and the declare them both dllimport-ed when using the library. That
way there will exactly one copy of both the derived and the base
members.
There's plenty of articles on the annoying quirks and limitations
of Windows DLLs in MSDN. Here's one (not the best one but it does
cover your case):
http://msdn2.microsoft.com/en-us/library/twa2aw10.aspx
Martin
Re: error LNK2005 : VC8
Posted by Nadine Faizant <na...@nautitia.fr>.
Thanks, Martin.
I have search for deque instanciation... there is no deque in source file and include for homoSyntagmaticConstraints.cpp.
I tried dumpbin as you suggest.
I find in graph library the source file that use deque objet.
I have used dumpbin on this obj file and I find this... which is suspect for me (there is seceral deque export !), two examples :
/EXPORT:??_F?$deque@IV?$allocator@I@std@@@std@@QAEXXZ
/EXPORT:??0?$deque@IV?$allocator@I@std@@@std@@QAE@ABV?$allocator@I@1@@Z
This file should not export this object, isn't it ?
In homoSyntagmaticConstraints.obj there is no /EXPORT symbols...
Could you say me please if I'm wrong. I need to export class A from graph lib in order to be use in other dll.
So, in graph lib I have a Class A which inherits of deque that I have declare as
Class DLLExportGraph : public B, public std::deque<C>
where DLLExportGraph is defined as
#ifdef GRAPH_EXPORTS
#define DLLExportGraph _declspec (dllexport)
#else
#define DLLExportGraph _declspec (dllimport)
#endif
I know this is the correct syntax for non template class, perhaps there is something different for template classes ?
Thanks for your help,
Nadine
PS : output file are so big (either compressed !) if you really need them I will send you
----- Original Message -----
From: "Martin Sebor" <se...@roguewave.com>
To: <st...@incubator.apache.org>
Sent: Wednesday, January 03, 2007 7:16 PM
Subject: Re: error LNK2005 : VC8
> Martin Sebor wrote:
>> Nadine Faizant wrote:
>>>
>>> No is is a debug dynamic link (that the reason why I need a .lib
>>> file...)
>>
>> So Graph.lib is an archive library that uses/links with stdcxx,
>> correct? Does Graph.lib link against the stdcxx DLL or archive?
>> (The latter could be a likely cause of the problem.)
>
> Okay, Graph is a DLL that uses the same stdcxx DLL as the DLL that
> gives the errors (SyntacticAnalysis.dll).
>
> Since the error is issued for a couple of third party libraries
> (i.e., not stdcxx) I suspect it's a usage problem as opposed to
> one with stdcxx itself. Does either of the object files mentioned
> in the error message by any chance explicitly instantiate deque?
>
> I think you'll need to some some digging into the object files
> (using dumpbin) to figure how the conflicting symbols are
> defined (they're all inline functions so it's puzzling that they
> should cause conflicts; we don't normally do 15d builds during
> our testing so you might want to try a 12d build instead -- that
> should optimize away inline functions). I would look for other
> inline member functions of class templates to see whether there
> is any difference. I'm in the process of moving my office so I
> won't be able to look into this in more detail until I'm done.
>
> Martin
>
>
Re: error LNK2005 : VC8
Posted by Martin Sebor <se...@roguewave.com>.
Martin Sebor wrote:
> Nadine Faizant wrote:
>>
>> No is is a debug dynamic link (that the reason why I need a .lib
>> file...)
>
> So Graph.lib is an archive library that uses/links with stdcxx,
> correct? Does Graph.lib link against the stdcxx DLL or archive?
> (The latter could be a likely cause of the problem.)
Okay, Graph is a DLL that uses the same stdcxx DLL as the DLL that
gives the errors (SyntacticAnalysis.dll).
Since the error is issued for a couple of third party libraries
(i.e., not stdcxx) I suspect it's a usage problem as opposed to
one with stdcxx itself. Does either of the object files mentioned
in the error message by any chance explicitly instantiate deque?
I think you'll need to some some digging into the object files
(using dumpbin) to figure how the conflicting symbols are
defined (they're all inline functions so it's puzzling that they
should cause conflicts; we don't normally do 15d builds during
our testing so you might want to try a 12d build instead -- that
should optimize away inline functions). I would look for other
inline member functions of class templates to see whether there
is any difference. I'm in the process of moving my office so I
won't be able to look into this in more detail until I'm done.
Martin
Re: error LNK2005 : VC8
Posted by Martin Sebor <se...@roguewave.com>.
Nadine Faizant wrote:
>
> No is is a debug dynamic link (that the reason why I need a .lib
> file...)
So Graph.lib is an archive library that uses/links with stdcxx,
correct? Does Graph.lib link against the stdcxx DLL or archive?
(The latter could be a likely cause of the problem.)
Martin
> Here is the content of my buildLog.htm....
> Journal de génération Générer démarrée : Projet :
> SyntacticAnalysis, Configuration : Debug|Win32
> Lignes de commande Création du fichier temporaire
> "d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008C31801724.rsp"
> avec pour contenu
> [
> /Od /I "../../../../../externals/win32/include" /I
> "../../../../../externals/win32/include/ansi" /I
> "../../../../../externals/win32/include/15d" /I "../../.." /I
> "../../../../../s2common/src" /D "_RWSTD_USE_CONFIG" /D "_RWSHARED" /D
> "_RWSTDDEBUG" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D
> "SYNTACTICANALYSIS_EXPORTS" /D "BOOST_REGEX_DYN_LINK" /D "_WINDLL" /D
> "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\"
> /Fd"Debug\vc80.pdb" /W3 /c /ZI /TP .\simplificationConstraints.cpp
>
> .\homoSyntagmaticConstraints.cpp
> ]
> Création de la ligne de commande "cl.exe
> @d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008C31801724.rsp
> /nologo /errorReport:prompt"
> Création du fichier temporaire
> "d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008D31801724.rsp"
> avec pour contenu
> [
> /OUT:"..\..\..\..\..\..\..\bin\win32\debug\SyntacticAnalysis.dll"
> /INCREMENTAL /LIBPATH:"../../../../../../../lib/win32/debug" /DLL
> /MANIFEST
> /MANIFESTFILE:"Debug\SyntacticAnalysis.dll.intermediate.manifest" /DEBUG
> /PDB:"d:\NPTE\dev\bin\win32\debug\SyntacticAnalysis.pdb"
> /SUBSYSTEM:WINDOWS /MACHINE:X86 stdlib15d.lib Graph.lib Misc.lib
> xerces-c_2D.lib Automaton.lib LinguisticResources.lib Data.lib
> ProcessUnitFramework.lib linguisticData.lib LinguisticProcessors.lib
> log4cppD.lib XMLConfigurationFiles.lib PosTagger.lib kernel32.lib
> user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
> ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
>
> ".\Debug\chainsDisambiguator.obj"
>
> ".\Debug\debugSyntacticAnalysisLogger.obj"
>
> ".\Debug\dependencyGraph.obj"
>
> ".\Debug\dotDependencyGraphWriter.obj"
>
> ".\Debug\homoSyntagmaticConstraints.obj"
>
> ".\Debug\simplificationConstraints.obj"
>
> ".\Debug\simplificationData.obj"
>
> ".\Debug\syntacticAnalysisTools.obj"
>
> ".\Debug\SyntacticAnalysisXmlLogger.obj"
>
> ".\Debug\syntacticAnalyzer-chains.obj"
>
> ".\Debug\syntacticAnalyzer-deps.obj"
>
> ".\Debug\syntacticAnalyzer-disamb.obj"
>
> ".\Debug\syntacticAnalyzer-hetero.obj"
>
> ".\Debug\syntacticAnalyzer-simplify.obj"
>
> ".\Debug\syntacticData.obj"
>
> ".\Debug\syntagmaticMatrix.obj"
>
> ".\Debug\tokenFilter.obj"
>
> ".\Debug\xmlSyntagmaticMatrixFileHandler.obj"
>
> ".\Debug\SyntacticAnalysis.dll.embed.manifest.res"
> ]
> Création de la ligne de commande "link.exe
> @d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008D31801724.rsp
> /NOLOGO /ERRORREPORT:PROMPT"
> Fenêtre Sortie Compilation en cours...
> simplificationConstraints.cpp
> d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\data\tstatus.h(160)
> : warning C4800: 'const unsigned char' : valeur forcée à la valeur
> booléenne 'true' ou 'false' (avertissement sur les performances)
> Génération de code en cours...
> Compilation en cours...
> homoSyntagmaticConstraints.cpp
> d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\data\tstatus.h(160)
> : warning C4800: 'const unsigned char' : valeur forcée à la valeur
> booléenne 'true' ou 'false' (avertissement sur les performances)
> d:\npte\dev\src\cpp\externals\win32\include\boost\regex\v4\regex_cstring.hpp(86)
> : warning C4996: 'strcpy' a été déclaré désapprouvé
> c:\program files\microsoft visual studio
> 8\vc\include\string.h(73) : voir la déclaration de 'strcpy'
> Message : 'This function or variable may be unsafe. Consider
> using strcpy_s instead. To disable deprecation, use
> _CRT_SECURE_NO_DEPRECATE. See online help for details.'
> d:\npte\dev\src\cpp\externals\win32\include\boost\regex\v4\regex_cstring.hpp(94)
> : warning C4996: 'wcscpy' a été déclaré désapprouvé
> c:\program files\microsoft visual studio
> 8\vc\include\string.h(250) : voir la déclaration de 'wcscpy'
> Message : 'This function or variable may be unsafe. Consider
> using wcscpy_s instead. To disable deprecation, use
> _CRT_SECURE_NO_DEPRECATE. See online help for details.'
> d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1005)
> : warning C4101: 'e' : variable locale non référencée
> d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1053)
> : warning C4101: 'e' : variable locale non référencée
> d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1121)
> : warning C4101: 'e' : variable locale non référencée
> Génération de code en cours...
> Édition des liens en cours...
> Graph.lib(Graph.dll) : error LNK2005: "public: class
> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
> std::__rw_deque_iter > > __thiscall std::deque >::end(void)"
> (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
> déjà défini(e) dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: class
> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
> std::__rw_deque_iter > > __thiscall std::deque >::begin(void)"
> (?begin@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
> déjà défini(e) dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: class
> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
> std::__rw_deque_iter > > __thiscall std::deque >::end(void)const "
> (?end@?$deque@IV?$allocator@I@std@@@std@@QBE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPBIABIV?$allocator@I@std@@@2@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@@__rw@@XZ)
> déjà défini(e) dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
> >::~deque >(void)" (??1?$deque@IV?$allocator@I@std@@@std@@QAE@XZ) déjà
> défini(e) dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
> >::deque >(class std::allocator const &)"
> (??0?$deque@IV?$allocator@I@std@@@std@@QAE@ABV?$allocator@I@1@@Z) déjà
> défini(e) dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: bool __thiscall
> std::deque >::empty(void)const "
> (?empty@?$deque@IV?$allocator@I@std@@@std@@QBE_NXZ) déjà défini(e) dans
> homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: unsigned int & __thiscall
> std::deque >::front(void)"
> (?front@?$deque@IV?$allocator@I@std@@@std@@QAEAAIXZ) déjà défini(e) dans
> homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall
> std::deque >::push_back(unsigned int const &)"
> (?push_back@?$deque@IV?$allocator@I@std@@@std@@QAEXABI@Z) déjà défini(e)
> dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall
> std::deque >::pop_front(void)"
> (?pop_front@?$deque@IV?$allocator@I@std@@@std@@QAEXXZ) déjà défini(e)
> dans homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
> >::deque >(class std::deque > const &)"
> (??0?$deque@IV?$allocator@I@std@@@std@@QAE@ABV01@@Z) déjà défini(e) dans
> homoSyntagmaticConstraints.obj
> Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall
> std::deque >::pop_back(void)"
> (?pop_back@?$deque@IV?$allocator@I@std@@@std@@QAEXXZ) déjà défini(e)
> dans homoSyntagmaticConstraints.obj
> ..\..\..\..\..\..\..\bin\win32\debug\SyntacticAnalysis.dll : fatal error
> LNK1169: un ou plusieurs symboles définis à différentes reprises ont été
> rencontrés
> Résultats Le journal de génération a été enregistré à l'emplacement
> "file://d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\BuildLog.htm"
>
> SyntacticAnalysis - 12 erreur(s), 7 avertissement(s)
>
>
> ----- Original Message ----- From: "Andrew Black" <ab...@roguewave.com>
> To: <st...@incubator.apache.org>
> Sent: Wednesday, January 03, 2007 5:50 PM
> Subject: Re: error LNK2005 : VC8
>
>
>> Greetings Nadine.
>>
>> I don't see the buildLog.html attachment, but it may have been
>> stripped by ezmlm. Is this a static build? If it is, the cause may
>> be that the standard library is being linked both in the Graph.lib
>> library and and the project, resulting in the duplicate symbol
>> message. If this is the cause, we're looking into solutions on the
>> development branch.
>>
>> --Andrew Black
>>
>> Nadine Faizant wrote:
>>> Hello,
>>>
>>> I encoutered many errors around deque object while linking with
>>> stdcxx with only one project. I don't understand what's wrong.
>>>
>>> For example : Graph.lib(Graph.dll) : error LNK2005: "public: class
>>> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
>>> std::__rw_deque_iter > > __thiscall std::deque >::end(void)"
>>> (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
>>> déjà défini(e) dans homoSyntagmaticConstraints.obj
>>>
>>> I used Graph.lib with other dll without any problem. So I think the
>>> problem came with the homoSyntagmaticConstraints.cpp file... but I
>>> don't what to search !
>>>
>>> Thanks for help,
>>>
>>> Nadine
>>>
>>> PS : attached buildLog.htm
>>>
>>>
>>>
>>> --------------------------------------------------------------------------------
>>>
>>>
>>> Nadine Faizant NewPhenix Z.A. - 5, Rue de l'Auberte 30 133 Les Angles
>>> Tél : 04 90 26 74 82 Fax : 04 90 26 90 84 Courriel :
>>> nadine.faizant@nautitia.fr
>>> --------------------------------------------------------------------------------
>>>
>>>
>>
>
>
Re: error LNK2005 : VC8
Posted by Nadine Faizant <na...@nautitia.fr>.
No is is a debug dynamic link (that the reason why I need a .lib
file...)
Here is the content of my buildLog.htm....
Journal de génération Générer démarrée : Projet : SyntacticAnalysis,
Configuration : Debug|Win32
Lignes de commande Création du fichier temporaire
"d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008C31801724.rsp"
avec pour contenu
[
/Od /I "../../../../../externals/win32/include" /I
"../../../../../externals/win32/include/ansi" /I
"../../../../../externals/win32/include/15d" /I "../../.." /I
"../../../../../s2common/src" /D "_RWSTD_USE_CONFIG" /D "_RWSHARED" /D
"_RWSTDDEBUG" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D
"SYNTACTICANALYSIS_EXPORTS" /D "BOOST_REGEX_DYN_LINK" /D "_WINDLL" /D
"_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\"
/Fd"Debug\vc80.pdb" /W3 /c /ZI /TP .\simplificationConstraints.cpp
.\homoSyntagmaticConstraints.cpp
]
Création de la ligne de commande "cl.exe
@d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008C31801724.rsp
/nologo /errorReport:prompt"
Création du fichier temporaire
"d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008D31801724.rsp"
avec pour contenu
[
/OUT:"..\..\..\..\..\..\..\bin\win32\debug\SyntacticAnalysis.dll"
/INCREMENTAL /LIBPATH:"../../../../../../../lib/win32/debug" /DLL /MANIFEST
/MANIFESTFILE:"Debug\SyntacticAnalysis.dll.intermediate.manifest" /DEBUG
/PDB:"d:\NPTE\dev\bin\win32\debug\SyntacticAnalysis.pdb" /SUBSYSTEM:WINDOWS
/MACHINE:X86 stdlib15d.lib Graph.lib Misc.lib xerces-c_2D.lib Automaton.lib
LinguisticResources.lib Data.lib ProcessUnitFramework.lib linguisticData.lib
LinguisticProcessors.lib log4cppD.lib XMLConfigurationFiles.lib
PosTagger.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib
".\Debug\chainsDisambiguator.obj"
".\Debug\debugSyntacticAnalysisLogger.obj"
".\Debug\dependencyGraph.obj"
".\Debug\dotDependencyGraphWriter.obj"
".\Debug\homoSyntagmaticConstraints.obj"
".\Debug\simplificationConstraints.obj"
".\Debug\simplificationData.obj"
".\Debug\syntacticAnalysisTools.obj"
".\Debug\SyntacticAnalysisXmlLogger.obj"
".\Debug\syntacticAnalyzer-chains.obj"
".\Debug\syntacticAnalyzer-deps.obj"
".\Debug\syntacticAnalyzer-disamb.obj"
".\Debug\syntacticAnalyzer-hetero.obj"
".\Debug\syntacticAnalyzer-simplify.obj"
".\Debug\syntacticData.obj"
".\Debug\syntagmaticMatrix.obj"
".\Debug\tokenFilter.obj"
".\Debug\xmlSyntagmaticMatrixFileHandler.obj"
".\Debug\SyntacticAnalysis.dll.embed.manifest.res"
]
Création de la ligne de commande "link.exe
@d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\RSP00008D31801724.rsp
/NOLOGO /ERRORREPORT:PROMPT"
Fenêtre Sortie Compilation en cours...
simplificationConstraints.cpp
d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\data\tstatus.h(160) :
warning C4800: 'const unsigned char' : valeur forcée à la valeur booléenne
'true' ou 'false' (avertissement sur les performances)
Génération de code en cours...
Compilation en cours...
homoSyntagmaticConstraints.cpp
d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\data\tstatus.h(160) :
warning C4800: 'const unsigned char' : valeur forcée à la valeur booléenne
'true' ou 'false' (avertissement sur les performances)
d:\npte\dev\src\cpp\externals\win32\include\boost\regex\v4\regex_cstring.hpp(86)
: warning C4996: 'strcpy' a été déclaré désapprouvé
c:\program files\microsoft visual studio 8\vc\include\string.h(73) :
voir la déclaration de 'strcpy'
Message : 'This function or variable may be unsafe. Consider using
strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See
online help for details.'
d:\npte\dev\src\cpp\externals\win32\include\boost\regex\v4\regex_cstring.hpp(94)
: warning C4996: 'wcscpy' a été déclaré désapprouvé
c:\program files\microsoft visual studio 8\vc\include\string.h(250)
: voir la déclaration de 'wcscpy'
Message : 'This function or variable may be unsafe. Consider using
wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See
online help for details.'
d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1005)
: warning C4101: 'e' : variable locale non référencée
d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1053)
: warning C4101: 'e' : variable locale non référencée
d:\npte\dev\src\cpp\s2lp\src\linguisticprocessing\core\syntacticanalysis\homosyntagmaticconstraints.cpp(1121)
: warning C4101: 'e' : variable locale non référencée
Génération de code en cours...
Édition des liens en cours...
Graph.lib(Graph.dll) : error LNK2005: "public: class __rw::__rw_debug_iter
>,class std::__rw_deque_iter >,class std::__rw_deque_iter > > __thiscall
std::deque >::end(void)"
(?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: class __rw::__rw_debug_iter
>,class std::__rw_deque_iter >,class std::__rw_deque_iter > > __thiscall
std::deque >::begin(void)"
(?begin@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: class __rw::__rw_debug_iter
>,class std::__rw_deque_iter >,class std::__rw_deque_iter > > __thiscall
std::deque >::end(void)const "
(?end@?$deque@IV?$allocator@I@std@@@std@@QBE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPBIABIV?$allocator@I@std@@@2@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@@__rw@@XZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
>::~deque >(void)" (??1?$deque@IV?$allocator@I@std@@@std@@QAE@XZ) déjà
défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
>::deque >(class std::allocator const &)"
(??0?$deque@IV?$allocator@I@std@@@std@@QAE@ABV?$allocator@I@1@@Z) déjà
défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: bool __thiscall std::deque
>::empty(void)const " (?empty@?$deque@IV?$allocator@I@std@@@std@@QBE_NXZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: unsigned int & __thiscall
std::deque >::front(void)"
(?front@?$deque@IV?$allocator@I@std@@@std@@QAEAAIXZ) déjà défini(e) dans
homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall std::deque
>::push_back(unsigned int const &)"
(?push_back@?$deque@IV?$allocator@I@std@@@std@@QAEXABI@Z) déjà défini(e)
dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall std::deque
>::pop_front(void)" (?pop_front@?$deque@IV?$allocator@I@std@@@std@@QAEXXZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: __thiscall std::deque
>::deque >(class std::deque > const &)"
(??0?$deque@IV?$allocator@I@std@@@std@@QAE@ABV01@@Z) déjà défini(e) dans
homoSyntagmaticConstraints.obj
Graph.lib(Graph.dll) : error LNK2005: "public: void __thiscall std::deque
>::pop_back(void)" (?pop_back@?$deque@IV?$allocator@I@std@@@std@@QAEXXZ)
déjà défini(e) dans homoSyntagmaticConstraints.obj
..\..\..\..\..\..\..\bin\win32\debug\SyntacticAnalysis.dll : fatal error
LNK1169: un ou plusieurs symboles définis à différentes reprises ont été
rencontrés
Résultats Le journal de génération a été enregistré à l'emplacement
"file://d:\NPTE\dev\src\cpp\s2lp\src\linguisticProcessing\core\SyntacticAnalysis\Debug\BuildLog.htm"
SyntacticAnalysis - 12 erreur(s), 7 avertissement(s)
----- Original Message -----
From: "Andrew Black" <ab...@roguewave.com>
To: <st...@incubator.apache.org>
Sent: Wednesday, January 03, 2007 5:50 PM
Subject: Re: error LNK2005 : VC8
> Greetings Nadine.
>
> I don't see the buildLog.html attachment, but it may have been stripped by
> ezmlm. Is this a static build? If it is, the cause may be that the
> standard library is being linked both in the Graph.lib library and and the
> project, resulting in the duplicate symbol message. If this is the cause,
> we're looking into solutions on the development branch.
>
> --Andrew Black
>
> Nadine Faizant wrote:
>> Hello,
>>
>> I encoutered many errors around deque object while linking with
>> stdcxx with only one project. I don't understand what's wrong.
>>
>> For example : Graph.lib(Graph.dll) : error LNK2005: "public: class
>> __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class
>> std::__rw_deque_iter > > __thiscall std::deque >::end(void)"
>> (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ)
>> déjà défini(e) dans homoSyntagmaticConstraints.obj
>>
>> I used Graph.lib with other dll without any problem. So I think the
>> problem came with the homoSyntagmaticConstraints.cpp file... but I don't
>> what to search !
>>
>> Thanks for help,
>>
>> Nadine
>>
>> PS : attached buildLog.htm
>>
>>
>>
>> --------------------------------------------------------------------------------
>>
>> Nadine Faizant NewPhenix Z.A. - 5, Rue de l'Auberte 30 133 Les Angles Tél
>> : 04 90 26 74 82 Fax : 04 90 26 90 84 Courriel :
>> nadine.faizant@nautitia.fr --------------------------------------------------------------------------------
>>
>
Re: error LNK2005 : VC8
Posted by Andrew Black <ab...@roguewave.com>.
Greetings Nadine.
I don't see the buildLog.html attachment, but it may have been stripped
by ezmlm. Is this a static build? If it is, the cause may be that the
standard library is being linked both in the Graph.lib library and and
the project, resulting in the duplicate symbol message. If this is the
cause, we're looking into solutions on the development branch.
--Andrew Black
Nadine Faizant wrote:
> Hello,
>
> I encoutered many errors around deque object while linking with stdcxx with only one project. I don't understand what's wrong.
>
> For example :
>
> Graph.lib(Graph.dll) : error LNK2005: "public: class __rw::__rw_debug_iter >,class std::__rw_deque_iter >,class std::__rw_deque_iter > > __thiscall std::deque >::end(void)" (?end@?$deque@IV?$allocator@I@std@@@std@@QAE?AV?$__rw_debug_iter@V?$deque@IV?$allocator@I@std@@@std@@V?$__rw_deque_iter@IHPAIAAIV?$allocator@I@std@@@2@V32@@__rw@@XZ) déjà défini(e) dans homoSyntagmaticConstraints.obj
>
> I used Graph.lib with other dll without any problem. So I think the problem came with the homoSyntagmaticConstraints.cpp file... but I don't what to search !
>
> Thanks for help,
>
> Nadine
>
> PS : attached buildLog.htm
>
>
>
> --------------------------------------------------------------------------------
>
> Nadine Faizant
> NewPhenix
> Z.A. - 5, Rue de l'Auberte
> 30 133 Les Angles
>
>
> Tél : 04 90 26 74 82
> Fax : 04 90 26 90 84
> Courriel : nadine.faizant@nautitia.fr
>
> --------------------------------------------------------------------------------
>