最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

clang - Toolset tag in filenames of Boost static libraries compiled with Intel OneAPI DPC++ - Stack Overflow

programmeradmin9浏览0评论

I've compiled the Boost 1.87 libraries using the Intel OneAPI DPC++ compiler 2025.0.4. I followed the instructions given here for Windows. My project-config.jam file (which is created by running bootstrap.bat) has the following line added:

using clang-win : 2025.0.4.20241205 : "C:/Program Files (x86)/Intel/oneAPI/compiler/2025.0/bin/compiler/clang-cl.exe" ;

The command I use to build the Boost libraries is:

b2 install --without-python --without-graph_parallel --without-mpi --build-type=complete toolset=clang-win link=shared address-model=64 architecture=x86 runtime-link=shared

The static libraries produced follow the Boost library naming convention described here which includes the toolset tag. For example, the JSON library file produced using the above procedure has the filename: boost_json-clangw2025-mt-x64-1_87.lib

In Visual Studio 2022, I add the location of the Boost .hpp source files to the DPC++ project properties under Configuration Properties > VC++ Directories > External Include Directories and reference them in the source code:

#include <boost\json.hpp>
#include <boost\json\src.hpp>

Under Configuration Properties > Linker > General > Additional Library Directories I add the path to the static library files.

When I build my DPC++ console application project in Visual Studio, I get a LNK1104 error with the message "cannot open file 'libboost_json-clangw19-mt-x64-1_87.lib'". The linker appears to be looking for a file that has a "lib" prefix and "clangw19" toolset tag in the filename. If I rename the library file I created earlier to libboost_json-clangw19-mt-x64-1_87.lib, the program compiles with no errors and works as expected.

Is there a way to build the Boost libraries with the filenames the way that the program linking to these library files is looking for (libboost_json-clangw19-mt-x64-1_87.lib)? Perhaps something that needs to be set in the .jam files when building the Boost libraries? Even better, is there a way to have the linking look for the libraries with the names as produced (boost_json-clangw2025-mt-x64-1_87.lib)?

发布评论

评论列表(0)

  1. 暂无评论