-
-
Notifications
You must be signed in to change notification settings - Fork 183
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Environment
toml++ version and/or commit hash:
Submodule : TOML++ v3.3.0 (c635f21)
Compiler:
$ c++ --version
c++ (GCC) 13.2.1 20230801
C++ standard mode:
set(CMAKE_CXX_STANDARD 17)
Target arch:
$ uname -a
Linux copak 6.4.12-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 24 Aug 2023 00:38:14 +0000 x86_64 GNU/Linux
Library configuration overrides:
none
Relevant compilation flags:
After having installed intel-oneapi-mkl:
-I/opt/intel/oneapi/compiler/latest/linux/compiler/include
Describe the bug
The library compiles fine, until I add the above flag (because the project otherwise uses MKL), then I get:
In file included from ./extern/toml++/include/toml++/toml.h:36,
from ./main.cpp:1:
./extern/toml++/include/toml++/impl/forward_declarations.h:38:15: error: ‘FLT_RADIX’ was not declared in this scope
38 | static_assert(FLT_RADIX == 2, TOML_ENV_MESSAGE);
| ^~~~~~~~~
Steps to reproduce (or a small repro code sample)
main.cpp
#include <toml++/toml.h>
int main(){};
CMakeLists.txt
cmake_minimum_required(VERSION 3.20..3.22)
project(TomlAndMkl LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
add_library(toml++ INTERFACE)
target_include_directories(toml++ INTERFACE "./extern/toml++/include")
add_executable(main main.cpp)
#-------------------------------------------------------------------------------
# Works if I remove this snippet.
find_package(PkgConfig REQUIRED)
pkg_search_module(MKL mkl-dynamic-lp64-iomp)
target_include_directories(main PRIVATE ${MKL_INCLUDE_DIRS})
#-------------------------------------------------------------------------------
target_link_libraries(main PRIVATE toml++)
I'm not exactly sure what the error deeply means here. FWIU the FLT_RADIX
macro is (re-)defined within intel/oneapi/compiler/latest/linux/compiler/include/float.h:75
to:
#undef FLT_RADIX
#define FLT_RADIX 2
but I'm not confident what it means or why this would result in "undeclared FLT_RADIX". I'm happy to learn more ^ ^"
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working