View Issue Details

IDProjectCategoryView StatusLast Update
0001389NoesisGUIC++ SDKpublic2019-01-18 11:44
Reporternikobarli Assigned Tosfernandez  
PrioritynormalSeverityblock 
Status resolvedResolutionfixed 
Product Version2.2.0b5 
Summary0001389: Cannot build C++ SDK from trunk r
Description

Hi, today I updated our source code with Noesis SDK r7643 but it caused the projects failed to build with the following errors:

1> Creating library ........\NoesisSDK\Lib\windows_x86\Noesis.lib and object ........\NoesisSDK\Lib\windows_x86\Noesis.exp
1>Rect.obj : error LNK2019: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z) referenced in function "public: struct Noesis::Recti thiscall Noesis::Recti::Intersect(struct Noesis::Recti const &)const " (?Intersect@Recti@Noesis@@QBE?AU12@ABU12@@Z)
1>Size.obj : error LNK2001: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>KeyTime.obj : error LNK2001: unresolved external symbol "int
cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>RepeatBehavior.obj : error LNK2001: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>TimeSpan.obj : error LNK2001: unresolved external symbol "int
cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>Point.obj : error LNK2001: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>StringFormat.obj : error LNK2001: unresolved external symbol "int
cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>NumericConverter.obj : error LNK2001: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>PropertyPath.obj : error LNK2001: unresolved external symbol "int
cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>Duration.obj : error LNK2001: unresolved external symbol "int cdecl Noesis::String::ToInteger(char const ,unsigned int )" (?ToInteger@String@Noesis@@YAHPBDPAI@Z)
1>Thickness.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Transform.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Point.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Rect.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Size.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>SVGPath.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>KeyTime.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>RepeatBehavior.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Color.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>CornerRadius.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>Slider.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>TickBar.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>VirtualizationCacheLength.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>KeySpline.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>NumericConverter.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>DashStyle.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>GridLength.obj : error LNK2001: unresolved external symbol "float
cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>LengthConverter.obj : error LNK2001: unresolved external symbol "float cdecl Noesis::String::ToFloat(char const ,unsigned int )" (?ToFloat@String@Noesis@@YAMPBDPAI@Z)
1>NumericConverter.obj : error LNK2019: unresolved external symbol "double
cdecl Noesis::String::ToDouble(char const ,unsigned int )" (?ToDouble@String@Noesis@@YANPBDPAI@Z) referenced in function "public: struct Noesis::ParseResult __thiscall Noesis::PE::Double::TryParse<struct Noesis::DefaultSkip>(class Noesis::ParserSource<struct Noesis::DefaultSkip> const &)" (??$TryParse@UDefaultSkip@Noesis@@@Double@PE@Noesis@@QAE?AUParseResult@2@ABV?$ParserSource@UDefaultSkip@Noesis@@@2@@Z)
1>D:\Noesis\v2.9.5.0_libz_NoesisMerge\libz\Debug\Noesis32.dll : fatal error LNK1120: 3 unresolved externals

It seems that the following functions inside NsCore/StringUtils.h are not implemented

/// Parses the string, interpreting its content as a float and returns its value
float ToFloat(const char str, uint32_t charParsed);

/// Parses the string, interpreting its content as a double and returns its value
double ToDouble(const char str, uint32_t charParsed);

/// Parses the string, interpreting its content as an integer and returns its value
int ToInteger(const char str, uint32_t charParsed);

PlatformAny

Activities

sfernandez

sfernandez

2019-01-17 13:59

manager   ~0005396

Last edited: 2019-01-17 14:01

The implementation of those functions is in StringUtils.cpp (added in r7629).
I've just updated trunk in a clean working directory and built Noesis-win-x86.conf without problems.

Is it possible that you didn't regenerate the Noesis project after updating?

jsantos

jsantos

2019-01-17 15:34

manager   ~0005397

I just generated a clean version right now and I have verified that those functions are being exported (using Depends.exe):


?ToDouble@String@Noesis@@YANPBDPAI@Z
?ToFloat@String@Noesis@@YAMPBDPAI@Z
?ToInteger@String@Noesis@@YAHPBDPAI@Z

Could you try first in a clean version? What visual studio version are you using?

nikobarli

nikobarli

2019-01-17 23:57

reporter   ~0005399

Hi, yes you are right. I missed the StringUtils.cpp when merging your source code (it wasn't SVN added to our source tree). Sorry for the trouble. Please close this issue.

jsantos

jsantos

2019-01-18 11:44

manager   ~0005400

Thanks!

Issue History

Date Modified Username Field Change
2019-01-17 06:10 nikobarli New Issue
2019-01-17 13:59 sfernandez Assigned To => sfernandez
2019-01-17 13:59 sfernandez Status new => feedback
2019-01-17 13:59 sfernandez Note Added: 0005396
2019-01-17 14:01 sfernandez Note Edited: 0005396
2019-01-17 15:34 jsantos Note Added: 0005397
2019-01-17 23:57 nikobarli Note Added: 0005399
2019-01-17 23:57 nikobarli Status feedback => assigned
2019-01-18 11:44 jsantos Status assigned => resolved
2019-01-18 11:44 jsantos Resolution open => fixed
2019-01-18 11:44 jsantos Note Added: 0005400