- Compilation error when attempting to build in IPv4 only mode
Compilation error when attempting to build in IPv4 only mode
Known Affected Versions
3.5.1
Description
A build error occurs when attempting to build an application with IPV4ONLY defined in nbrtos/include/predef.h. The error message is similar to the following:
Code: Select all
CXX obj/release/nbrtos/source/config_obj.o from c:/gitroot/nburn3/nbrtos/source/config_obj.cpp
c:/gitroot/nburn3/nbrtos/source/config_obj.cpp:269:5: error: 'config_IPADDR' has not been declared
int config_IPADDR::FdPrintValue(int fd, bool raw)
^~~~~~~~~~~~~
c:/gitroot/nburn3/nbrtos/source/config_obj.cpp: In function 'int FdPrintValue(int, bool)':
c:/gitroot/nburn3/nbrtos/source/config_obj.cpp:271:29: error: 'val' was not declared in this scope
fdiprintf(fd, "\"%I\"", val);
To fix the build error, you will need to make a quick change to a single file.
Please edit nbrtos/source/config_obj.cpp and find the function config_IPADDR::FdPrintValue() around line 290. Then, add an #ifdef IPV6 around that function so it looks like this:
Code: Select all
#ifdef IPV6
int config_IPADDR::FdPrintValue(int fd, bool raw)
{
fdiprintf(fd, "\"%I\"", val);
return 0;
}
#endif
This issue has been resolved in development and will be available in the next release.
---