- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I try to compile exabayes software with icpc. When I run make, first error reported is :
error: class "std::numeric_limits<double>" has no member "lowest" result._val = std::numeric_limits<double>::lowest();
So I try a simple code :
// numeric_limits example #include <iostream> // std::cout #include <limits> // std::numeric_limits int main () { std::cout << std::boolalpha; std::cout << "Minimum value for int: " << std::numeric_limits<int>::min() << '\n'; std::cout << "Maximum value for int: " << std::numeric_limits<int>::max() << '\n'; std::cout << "int is signed: " << std::numeric_limits<int>::is_signed << '\n'; std::cout << "Non-sign bits in int: " << std::numeric_limits<int>::digits << '\n'; std::cout << "int has infinity: " << std::numeric_limits<int>::has_infinity << '\n'; std::cout << "lowest: " << std::numeric_limits<int>::lowest() << '\n'; return 0; }
I get the same error :
$ icpc -std=c++11 -o limit numeric_limits.cpp numeric_limits.cpp(12): error: class "std::numeric_limits<int>" has no member "lowest" std::cout << "lowest: " << std::numeric_limits<int>::lowest() << '\n';
I use this icpc version :
$ icpc -V Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0.1.150 Build 20151021 Copyright (C) 1985-2015 Intel Corporation. All rights reserved.
Thanks for help.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does the g++ on path support this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No, it doesn't.
I load a new version of gcc and it works !
I didn't know icpc used gcc ...
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mikael.
ICC is actually GNU based in that it uses the GNU assembler, linker and headers (ex: stdio.h etc.) for ensuring that it's compatible with GNU. For example, if you have GNU version say 4.4 on your system, then ICC will emulate GCC 4.6 for compatibility. ICC will try to figure out which version of GNU you have installed by looking at the gcc or g++ in your PATH. Hence it worked after you installed the correct version of GCC.
Regards,
Kittur
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page