Pertanyaan yang diberi tag «clang»

Untuk pertanyaan tentang front end LLVM compiler. Untuk pertanyaan umum tentang C, gunakan tag C.


4
Bisakah saya menggunakan C ++ 11 dengan Xcode?
Saya sedang mempertimbangkan penggunaan beberapa fitur C ++ 11 (seperti automisalnya) di beberapa proyek lintas platform (Windows + Mac). Di Windows, Visual Studio mendukung bagian dari standar C ++ 11 yang akan datang yang memungkinkan saya untuk menyederhanakan bagian dari basis kode sehingga secara alami saya akan tertarik untuk mulai …
86 c++  xcode  gcc  c++11  clang 

9
Catalina C ++: Menggunakan kesalahan header <cmath> menghasilkan: tidak ada anggota bernama 'signbit' di namespace global
Setelah memutakhirkan ke Catalina dari Mojave, Pengaturan: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk di env. Saya tidak dapat mengkompilasi program yang digunakan &lt;cmath&gt; header. Saya mencoba mengubah CFLAGS, CCFLAGS, CXXFLAGS untuk menunjuk ke Lokasi MacOSSDK yang tidak mengubah apa pun 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 …

1
Dentang tidak mengkompilasi kode tetapi gcc dan msvc mengkompilasinya
Saya tidak mengerti apa masalahnya: baik dalam kode saya atau di kompiler (kurang mungkin). Ada sepotong kode seperti ini: #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; : …

1
Mengapa std :: swap tidak bekerja pada elemen vektor <bool> di bawah Dentang / Menang?
Saya punya kode seperti ini: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Argumen tentang kewarasan vector&lt;bool&gt;samping, ini bekerja dengan baik pada: Dentang untuk Mac Visual Studio untuk Windows GCC untuk Linux Kemudian saya mencoba membangunnya dengan Dentang pada Windows dan menerima kesalahan berikut (diringkas): …


1
Bisakah variabel inline diubah setelah inisialisasi dalam C ++ 17?
Skenario saya adalah sebagai berikut (ini bekerja dalam dentang tetapi tidak dalam gcc) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); Masalahnya adalah bahwa variabel inline menunjukkan 0 di tempat-tempat di mana saya harapkan 28 karena sudah dimodifikasi …
11 c++  visual-c++  dll  clang  c++17 

1
Konfigurasikan CMake di windows untuk menggunakan dentang dari baris perintah untuk mendapatkan dukungan OpenMP modern
Saya punya proyek uji kecil yang menggunakan OpenMP untuk paralelisasi. Target saya adalah untuk mengkompilasinya sehingga menghasilkan .dlldan .libuntuk perpustakaan (karena tautan proyek saya yang sebenarnya ke perpustakaan eksternal yang didistribusikan menggunakan jenis ini), dengan dukungan untuk OpenMP 4.5 atau yang lebih baru dan melakukannya dari baris perintah sehingga dapat …


3
Bisakah nullptr dikonversi menjadi uintptr_t? Kompiler yang berbeda tidak setuju
Pertimbangkan program ini: #include &lt;cstdint&gt; using my_time_t = uintptr_t; int main() { const my_time_t t = my_time_t(nullptr); } Gagal mengompilasi dengan 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 an integral …
10 c++  c++11  gcc  visual-c++  clang 

1
Masalah dalam GCC / C ++ 17 dengan kelas templat templat
Pertimbangkan 2 kelebihan berikut ini template&lt;typename T&gt; bool test() { return true; } template&lt;template&lt;typename ...&gt; class T&gt; bool test() { return false; } Yang pertama berfungsi untuk kelas reguler, sedangkan yang kedua berfungsi untuk templat yang tidak dipakai. Contohnya: 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 Sekarang pertimbangkan …
10 c++  templates  gcc  clang  c++17 

2
Pengurangan tipe otomatis yang tidak cocok antara berbagai kompiler c ++
Jadi, saya mencoba menerapkan produk titik ( https://en.wikipedia.org/wiki/Dot_product ) dalam beberapa rasa C ++ modern dan muncul dengan kode berikut: #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 = …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.