Intel® oneAPI DPC++/C++ Compiler
Talk to fellow users of Intel® oneAPI DPC++/C++ Compiler and companion tools like Intel® oneAPI DPC++ Library, Intel® DPC++ Compatibility Tool, and Intel® Distribution for GDB*
582 Discussions

boost 1.79.0 link issue with oneApi 2022.0.0.20211123

bruce_spc
Novice
997 Views

Trying to build and link the latest boost libraries (boost 1.79.0) using the oneAPI Intel C++ compiler (2022.0.0.20211123) in Visual Studio 2019 (Version 16.11.11).

 

1) I previously installed the oneAPI C++ compiler and toolset and integrated into Visual Studio as instructed. This worked.

2) I followed the guidance for building the boost libraries in this article
Building Boost* with Intel® oneAPI .

I used this command line:
b2 install --prefix=D:\Tools\boost\boost_1_79_0\stage --without-python --without-graph_parallel --without-mpi toolset=clang-win link=static address-model=64 architecture=x86 runtime-link=static


The libraries get built and installed into the folder specified. HOWEVER, they have this format:
     libboost_<xyzlib>-clangw2022-mt-sgd-x64-1_79.lib

3) When I try to link my C++ program in Visual Studio using the Intel Compiler it gives me a link error:
LNK1104 cannot open file 'libboost_<xyzlib>-clangw14-mt-sgd-x64-1_79.lib' 

I can cause the link to succeed by renaming all the libraries to clangw14, but surely there is a better way to get this done.

Thanks,
Bruce

0 Kudos
1 Solution
VidyalathaB_Intel
Moderator
955 Views

Hi,

 

Thanks for reaching out to us.

 

>> link to succeed by renaming all the libraries to clangw14, but surely there is a better way to get this done

 

Since the linker is searching for files with clangw14 (not sure with the exact reason but in common.jam file located in tools\build\src\tools it is written as: On Intel, version is not added, because it does not matter and it is the version of vc used as backend that matters) as toolset tag, maybe we could try changing the configuration settings as 

using clang-win : 14 : "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/bin-llvm/clang-cl.exe" ; 

in project-config.jam file located in the boost-root folder. After this change, you can proceed with b2 install step.

In this way instead of renaming all the files manually, the files will get generated with clangw14 toolset tag.

 

Please let me know if you face any issues in doing so.

 

Regards,

Vidya.

 

View solution in original post

4 Replies
VidyalathaB_Intel
Moderator
956 Views

Hi,

 

Thanks for reaching out to us.

 

>> link to succeed by renaming all the libraries to clangw14, but surely there is a better way to get this done

 

Since the linker is searching for files with clangw14 (not sure with the exact reason but in common.jam file located in tools\build\src\tools it is written as: On Intel, version is not added, because it does not matter and it is the version of vc used as backend that matters) as toolset tag, maybe we could try changing the configuration settings as 

using clang-win : 14 : "C:/Program Files (x86)/Intel/oneAPI/compiler/latest/windows/bin-llvm/clang-cl.exe" ; 

in project-config.jam file located in the boost-root folder. After this change, you can proceed with b2 install step.

In this way instead of renaming all the files manually, the files will get generated with clangw14 toolset tag.

 

Please let me know if you face any issues in doing so.

 

Regards,

Vidya.

 

bruce_spc
Novice
892 Views

Hi, Vidya. This solution worked. Thanks for the help.

0 Kudos
VidyalathaB_Intel
Moderator
917 Views

Hi,


Reminder:

As we haven't heard back from you, could you please provide us with an update regarding your issue?


Regards,

Vidya.


0 Kudos
NoorjahanSk_Intel
Moderator
884 Views

Hi,


Thanks for the confirmation!

As this issue has been resolved, we will no longer respond to this thread.

If you require any additional assistance from Intel, please start a new thread.


Thanks & Regards,

Noorjahan.


0 Kudos
Reply