Я пытаюсь собрать большой пакет линейной алгебры Trilinos с помощью clang-cl.
Я настраиваю это с
-DCMAKE_C_COMPILER:FILEPATH='C:/Program Files/LLVM/bin/clang-cl.exe' \
-DCMAKE_CXX_COMPILER:FILEPATH='C:/Program Files/LLVM/bin/clang-cl.exe' \
-DCMAKE_C_FLAGS:STRING='/DWIN32 /D_WINDOWS /W3 -fms-compatibility-version=19' \
-DCMAKE_CXX_FLAGS:STRING='/DWIN32 /D_WINDOWS /W3 /GR /EHsc /std:c++14 -fms-compatibility-version=19' \
Я получаю ошибки, показанные ниже. Нужно ли передать clang-cl некоторый флаг, чтобы иметь time.h в пути включения? Чтобы получить другие типы правильно?
Спасибо ….. Джон Кэри
D:\winsame\cary\vorpalall-llvm\builds\trilinos-12.12.1\cmake\tribits\win_interface\include\gettimeofday.c(1,10): fatal error: ' time.h ' file not found^M
#include < time.h >^
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared\stralign.h(483,16): error: use of undeclared identifier '_wcsicmp'; did you mean 'ua_wcsicmp'?^M
return _wcsicmp( (LPCWSTR)String1, (LPCWSTR)String2 );^M
^^M
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared\stralign.h(477,1): note: 'ua_wcsicmp' declared here^M
ua_wcsicmp(
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt\corecrt.h(483,39): error: typedef redefinition with different types ('unsigned short' vs 'int')^M
typedef unsigned short wint_t;^
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503\include\cstdlib(23,16): error: no member named 'fabsl' in the global namespace^M
return (_CSTD fabsl(_Xx));^M
Используйте Time.h вместо time.h в соответствии с https://docs.microsoft.com/en-us/cpp/c-runtime-library/daylight-dstbias-timezone-and-tzname?view=vs-2017.
Других решений пока нет …