Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7957 Discussions

Can not find <future> library in icc compiler

Kevin
Beginner
746 Views

Hi everyone,

When I try to use the <future> library in icc, an error shows up. Could anyone know what is the solution? I have searched for the forum and Google, but could not find any solutions. The setting up of icc and the environment is well because I have been using it for a long while.

 

 

-bash-4.1$ icc axpy_c++.cpp -std=c++11

axpy_c++_async2.cpp(10): catastrophic error: cannot open source file "future"

  #include <future>

                   ^

 

compilation aborted for axpy_c++_async2.cpp (code 4)

-bash-4.1$

 

 

Thanks,

Jawed

 

0 Kudos
4 Replies
Judith_W_Intel
Employee
746 Views

 

Intel does not provide its own headers and libraries so if you are using an older version of GNU (older than GNU 4.5) then it will not be available. What does gcc -v say?

0 Kudos
Kevin
Beginner
746 Views

Hi Judith,

Thank you for your reply.

Actually, I can use g++ to compile the code in this machine. But I can use icc to compile the code in other machine(the version of icc is the same for both machines). The difference of this two machine is the version of gcc 4.47 (the machine icc count't recognize <future> library) and gcc 4.8(icc recognize <fugure> library). Is it the reason why icc count not recognize? Do you know any solutions? Should I link some specific dynamic library or include some header files to do that? ​ The info of gcc -v is as follows:

-bash-4.1$ g++ -v

Using built-in specs.

Target: x86_64-redhat-linux

Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux

Thread model: posix

gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

 

Thanks,

Jawed

0 Kudos
TimP
Honored Contributor III
746 Views

You must put a version of g++ on path which supports that feature. If you don't want to update the default gcc, this means installing gcc in another path location and setting PATH and LD_LIBRARY_PATH accordingly.

0 Kudos
KitturGanesh
Employee
746 Views

Hi Jawed, 
Just so you know, Intel compiler is based on the GNU tool chain (uses its asm, ln etc as well) mainly to ensure compatibility with GCC (source, binary and commandline) and hence you'll need to make sure GCC/G++ and binutils are all installed on the system for the compiler to work, like Judy/Tim mentioned earlier.

Kittur

0 Kudos
Reply