Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
4.2.1
-
None
-
CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
-
Linker Error
Description
As reported here, when using Sun C++ on Solaris, ...
Passing std::numeric_limits<> as an lvalue as in the example below results in undefined symbols for the symbol std::numeric_limits<> at link time:
#include <iostream> #include <algorithm> #include <limits> int main() { int i = std::numeric_limits<double>::digits10; int j = std::min(std::numeric_limits<double>::digits10, 10); //Undefined Symbols int j1 = std::max(std::numeric_limits<float>::min_exponent10, 2); //Undefined Symbols std::cout << i << std::endl; std::cout << j << std::endl; } Undefined first referenced symbol in file std::numeric_limits<double>::digits10 t.o [Hint: static member std::numeric_limits<double>::digits10 must be defined in the program] ld: fatal: Symbol referencing errors. No output written to t *** Error code 1 make: Fatal error: Command failed for target `t'
Attachments
Issue Links
- depends upon
-
STDCXX-936 [Sun C++] fails to #include standard headers more than once
- Open