![]() Build: Debug_clang900 in numeric_limits_snips (compiler: LLVM Clang 900 Compiler)-Ĭlang++.exe -Wall -fexceptions -g -std=c++2a -verbose -I.\.\.\boost -c I:\boost\libs\multiprecision\example\numeric_limits_snips.cpp -o obj\Debug\boost\libs\multiprecision\example\numeric_limits_snips.oĬlang++.exe -o bin\Debug\numeric_limits_snips.exe obj\Debug\boost\libs\multiprecision\example\numeric_limits_snips.o -vĬlang version 9.0.0 (tags/RELEASE_900/final) ![]() I have the compiler unzipped to Compiler executable directory : C:\LLVM\clang-900\LLVMĪnd copied an existing antique Clang version renaming it to clang900 with these new executables:Ĭompiler options- "std=c++2a" for latest C++ standard Using the default clang++.exe dynamic linker uses the MSVC linker., but i have also used the new LLD linker. So I am pleased to confirm that Clang version 8.1.0 and 9.0.0 works nicely for the latest draft C++ standard, building a sample of Boost.Math and Boost.Multiprecision. I forgot, if I ever knew, that the undocumented side effect of adding -version is to ignore all other commands! I shot my myself in the foot by adding -version to try to record the linker version (useful when you are trying to confirm that all the available linkers (clang++, clang-cl, ld, lld and gold all work as expected) Is this correct?ĭo I need to remove and reinstall CodeBlocks? Or can I refressh just key files? I would appear that one just needs to copy and then change the toolset executables to match. Meanwhile can anyone suggest how to get back to the default Clang provided.Īnd how to reconfigure for new versions. Sadly (and most regrettably IMO because everyone should be using the latest versions with the least number of bugs), the standard release does not include even moderately new Clang compilers (but a lot that I will never use). I think this means I have messed up the global compiler configuration :-( "This wizard doesn't know how to set up exception handling for this compiler". exe file).Ī warning that there is trouble ahead was thatĪfter CodeBlocks creating a project and choosing Clang 9.0.0 as compiler it says o link fed to the linker silently does not produce any. This works for me, until I include the need for exceptions handling by including try'n'catch blocks, but I find, after a distressing amount of debugging, that exceptions are not being handled correctly (and as a result the. ![]() I have used clang-cl.exe with some success, but for reasons too complex to discuss here, I would like to use the pure Clang compiler with the latest lld linker in order to confirm that this works using Windows as the base for Codeblocks. I have finally returned to this problem after being distracted on other maintenance and release issues. I hope someone will be able to tackle this for the next release because it allows side-by-side IDE development of code for GCC and Clang, something that Visual Studio still does not permit. That at a glance I conclude are not in my skill-set In turn, this also has implications for Boost's complex multi-platform configuration system.Ĭ:\Program Files (x86)\CodeBlocks\share\CodeBlocks\templates\wizard\common_functions.scriptĬ:\Program Files (x86)\CodeBlocks\share\CodeBlocks\compilers\options_clang.xml This is because Clang-cl.exe is a variant specifically adapted to work with Windows (and Visual studio) and it responds, confusingly, to (some) MS style configuration command like /EHsc (and not -fexceptions) and /std:c++17 (and not -std=c++17). ![]() I have been trying to use CodeBlocks on Windows 10 to using the latest Clang compiler (8.0) to build Boost libraries especially Boost.Math and Boost.Multiprecision, but conclude after some confusing work that Windows really needs a new compiler type using clang-cl.exe and not clang.exe.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |