ดูเหมือนว่าจะแปลก ใช้โปรแกรม C ++ อย่างง่าย
#include <cmath>
#include <iostream>
int main(void) {
std::cout << "Square root of 9 is " << sqrt(9) << std::endl;
}
ซึ่งผ่านการปรับด้วยg++
(4.8) แต่ไม่สามารถคอมไพล์ด้วยclang++
(3.3)
edd@don:/tmp$ g++ -o cmath cmath.cpp
edd@don:/tmp$ ./cmath
Square root of 9 is 3
edd@don:/tmp$ clang++ -o cmath cmath.cpp
In file included from cmath.cpp:2:
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8/cmath:41:10: \
fatal error:
'bits/c++config.h' file not found
#include <bits/c++config.h>
^
1 error generated.
edd@don:/tmp$
ฉันสงสัยว่าตัวเองขาดอะไรบางอย่างที่เห็นได้ชัด
และฉันมี-dev
แพ็คเกจที่เกี่ยวข้อง:
edd@don:/tmp$ COLUMNS=72 dpkg -l | grep "clang\|llvm"
ii clang-3.3 1:3.3-5ubunt i386 C, C++ and Objective-C compiler (
ii libclang-commo 1:3.3-5ubunt i386 clang library - Common developmen
ii libclang-commo 1:3.2repack- i386 clang library - Common developmen
ii libclang1 1:3.2repack- i386 clang library
ii libclang1-3.3 1:3.3-5ubunt i386 clang library
ii libllvm3.1:i38 3.1-2ubuntu2 i386 Low-Level Virtual Machine (LLVM),
ii libllvm3.2:i38 1:3.2repack- i386 Low-Level Virtual Machine (LLVM),
ii libllvm3.3:i38 1:3.3-5ubunt i386 Low-Level Virtual Machine (LLVM),
ii llvm-3.3 1:3.3-5ubunt i386 Low-Level Virtual Machine (LLVM)
ii llvm-3.3-dev 1:3.3-5ubunt i386 Low-Level Virtual Machine (LLVM),
ii llvm-3.3-runti 1:3.3-5ubunt i386 Low-Level Virtual Machine (LLVM),
edd@don:/tmp$
แก้ไข:ผมเคยล้มเหลวในการตรวจสอบข้อผิดพลาดการติดตามระบบนี้อยู่ในในความเป็นจริงที่รู้จักกันใน Launchpad
แก้ไข 2: ใน Ubuntu 16.10 ในที่สุดก็ใช้งานได้:
edd@max:~/src/progs/C++(master)$ clang++ -o cmath cmath.cpp
edd@max:~/src/progs/C++(master)$ ./cmath
Square root of 9 is 3
edd@max:~/src/progs/C++(master)$
ใช้clang++
รุ่น 3.8.1
ฉันเห็นรายงานข้อผิดพลาดจะไม่ได้รับการแก้ไข 13.10 ไม่ได้รับการสนับสนุนอีกต่อไปและ 3.3 ถูกลบใน 15.04 ดังนั้นฉันจึงโหวตให้ปิด
—
user.dz
@Sneetsher: คุณไม่เข้าใจว่าฉันยื่นนี้เกือบสองปีที่ผ่านมาเมื่อว่ารุ่นจำหน่ายและแพคเกจอยู่ในปัจจุบัน ?
—
Dirk Eddelbuettel
ใช่ฉันทำ. ฉันเพิ่งเห็นคำถามหายไป ฉันจะไม่มีใครตอบ
—
user.dz
-i /path-to-std-headers
แต่ถ้าต้องการคุณสามารถเขียนหนึ่งพูดถึงการแก้ปัญหาจากรายงานข้อผิดพลาดที่เพิ่ม จะมีใครมาที่นี่ในภายหลัง 7 โหวตดูเหมือนมีบางแหล่งท่องเที่ยว :)
สำหรับสิ่งที่มีค่าสิ่งนี้ยังคงไม่สร้าง (โดยค่าเริ่มต้น) ในปี 2559 ต่ำกว่า 16.04 เสียใจ
—
Dirk Eddelbuettel
ฉันจะลองและแจ้งให้คุณทราบ
—
user.dz