Hi, Robert:
I can't build the 8807 Revision due to some link error. The error message
is:


> 7>ImageLayer.obj : error LNK2019: Unsoloved External Symbol "void __cdecl
> osgTerrain::extractSetNameAndFileName(class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &,class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > &)" (
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z),this
> symbol is referenced by "bool __cdecl ImageLayer_readLocalData(class
> osg::Object &,class osgDB::Input &)" (
> ?ImageLayer_readLocalData@@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@@@Z)
> 7>HeightFieldLayer.obj : error LNK2001: Unsoloved External Symbol  "void
> __cdecl osgTerrain::extractSetNameAndFileName(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > &,class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > &)" (
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z
> )
> 7>CompositeLayer.obj : error LNK2001: Unsoloved External Symbol  "void
> __cdecl osgTerrain::extractSetNameAndFileName(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > &,class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > &)" (
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z
> )
> 7>ImageLayer.obj : error LNK2019: Unsoloved External Symbol  "class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > __cdecl
> osgTerrain::createCompondSetNameAndFileName(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &)" (
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z),this
> symbol is referenced by "bool __cdecl ImageLayer_writeLocalData(class
> osg::Object const &,class osgDB::Output &)" (
> ?ImageLayer_writeLocalData@@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@@@Z)
> 7>HeightFieldLayer.obj : error LNK2001: Unsoloved External Symbol  "class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > __cdecl
> osgTerrain::createCompondSetNameAndFileName(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &)" (
> [EMAIL PROTECTED]@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL 
> PROTECTED]@2@@std@@[EMAIL PROTECTED]@Z
> )
> 7>E:\osg\solution\bin\RelWithDebInfo\..\osgPlugins-2.7.1\osgdb_osgterrain.dll
> : fatal error LNK1120: 2 unsolved commands
>
>
By adding OSGTERRAIN_EXPORT to two functions in osgTerrain\Layer header
file:


> /** Extact the setname and filename from a compound string in the from
> set:setname:filename".
>   * Returns a setname of "" when non set:setname: entry is present.*/
> void extractSetNameAndFileName(const std::string& compoundstring,
> std::string& setname, std::string& filename);
> /** Create a compound string in the form set:setname:filename, or just
> filename if setname is "".*/
> std::string createCompondSetNameAndFileName(const std::string& setname,
> const std::string& filename);
>

As


> /** Extact the setname and filename from a compound string in the from
> set:setname:filename".
>   * Returns a setname of "" when non set:setname: entry is present.*/
> OSGTERRAIN_EXPORT void extractSetNameAndFileName(const std::string&
> compoundstring, std::string& setname, std::string& filename);
> /** Create a compound string in the form set:setname:filename, or just
> filename if setname is "".*/
> OSGTERRAIN_EXPORT std::string createCompondSetNameAndFileName(const
> std::string& setname, const std::string& filename);
>

can fix the problem.

Hesicong
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to