Pytania otagowane jako clang

W przypadku pytań dotyczących interfejsu kompilatora Clang LLVM. W przypadku ogólnych pytań dotyczących języka C użyj tagu C.


4
Czy mogę używać C ++ 11 z Xcode?
Rozważam użycie niektórych funkcji C ++ 11 (jak autona przykład) w niektórych projektach wieloplatformowych (Windows + Mac). W systemie Windows Visual Studio obsługuje części nadchodzącego standardu C ++ 11, który pozwoliłby mi uprościć części kodu, więc naturalnie byłbym zainteresowany rozpoczęciem korzystania z tych funkcji. Ale o ile mi wiadomo, obecna …
86 c++  xcode  gcc  c++11  clang 

9
Catalina C ++: Używanie nagłówków <cmath> powoduje błąd: żaden element o nazwie „signbit” w globalnej przestrzeni nazw
Po aktualizacji do Catalina z Mojave, Konfiguracja: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk w środowisku. Nie mogę skompilować programu używającego &lt;cmath&gt;nagłówka. Próbowałem zmienić CFLAGS, CCFLAGS, CXXFLAGS, aby wskazywały lokalizację MacOSSDK, która niczego nie zmienia Scanning dependencies of target OgreMain /Applications/Xcode.app/Contents/Developer/usr/bin/make -f OgreMain/CMakeFiles/OgreMain.dir/build.make OgreMain/CMakeFiles/OgreMain.dir/build [ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreASTCCodec.cpp.o cd /Users/roman/Downloads/ogre-1.12.2/build/OgreMain &amp;&amp; /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DOgreMain_EXPORTS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0 …

1
Clang nie kompiluje kodu, ale skompilowały go gcc i msvc
Nie rozumiem, na czym polega problem: ani w moim kodzie, ani w kompilatorze (mniej możliwe). Jest taki kod: #include &lt;iostream&gt; #include &lt;type_traits&gt; #include &lt;set&gt; template&lt;typename T, typename = void&gt; struct TestA: std::false_type {}; template&lt;typename T&gt; struct TestA&lt;T, std::void_t&lt;typename T::reverse_iterator&gt;&gt; : std::true_type {}; template&lt;typename T&gt; struct TestA&lt;T, std::void_t&lt;typename T::dummy_iterator&gt;&gt; : std::true_type …

1
Dlaczego std :: swap nie działa na elementach wektora <bool> w Clang / Win?
Mam taki kod: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } vector&lt;bool&gt;Pomijając argumenty na temat rozsądku , działało to dobrze: Clang dla komputerów Mac Visual Studio dla Windows GCC dla systemu Linux Następnie próbowałem zbudować go za pomocą Clanga w systemie Windows i otrzymałem następujący …


1
Czy zmienną wbudowaną można zmienić po inicjalizacji w C ++ 17?
Mój scenariusz jest następujący (działał w clang, ale nie w gcc) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); Problem polega na tym, że zmienna wbudowana pokazywała 0 w miejscach, w których spodziewałem się 28, ponieważ była ona …
11 c++  visual-c++  dll  clang  c++17 

1
Skonfiguruj CMake w Windows, aby używać clang z wiersza poleceń, aby uzyskać nowoczesną obsługę OpenMP
Mam mały projekt testowy , który używa OpenMP do równoległości. Moim celem jest skompilowanie go w taki sposób, aby tworzył .dlli .libdla bibliotek (ponieważ mój prawdziwy projekt łączy się z bibliotekami zewnętrznymi dystrybuowanymi przy użyciu tych typów), ze wsparciem dla OpenMP 4.5 lub nowszego i robię to z wiersza poleceń, …


3
Czy nullptr można przekonwertować na uintptr_t? Różne kompilatory się nie zgadzają
Rozważ ten program: #include &lt;cstdint&gt; using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Nie udało się skompilować z msvc v19.24: &lt;source&gt;(5): error C2440: '&lt;function-style-cast&gt;': cannot convert from 'nullptr' to 'my_time_t' &lt;source&gt;(5): note: A native nullptr can only be converted to bool or, using reinterpret_cast, to …
10 c++  c++11  gcc  visual-c++  clang 

1
Problem w GCC / C ++ 17 z klasą szablonów szablonów
Rozważ 2 następujące przeciążenia template&lt;typename T&gt; bool test() { return true; } template&lt;template&lt;typename ...&gt; class T&gt; bool test() { return false; } Pierwszy działa dla klas regularnych, a drugi dla szablonów, które nie są tworzone. Na przykład: std::cout&lt;&lt;test&lt;int&gt;()&lt;&lt;std::endl; &lt;-- this yields 1 std::cout&lt;&lt;test&lt;std::list&gt;()&lt;&lt;std::endl; &lt;--this yields 0 Teraz rozważ następującą funkcję …
10 c++  templates  gcc  clang  c++17 

2
Niedopasowane odliczanie typów auto między różnymi kompilatorami c ++
Próbuję więc wdrożyć produkt kropkowy ( https://en.wikipedia.org/wiki/Dot_product ) w jakimś smaku współczesnego C ++ i wymyśliłem następujący kod: #include &lt;iostream&gt; template&lt;class... Args&gt; auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = {brgs...}, i2 …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.