Score:0

Cmake ไม่พบคอมไพเลอร์ gcc

ธง nl

ฉันมี Ubuntu 18.04.6 LTS และฉันกำลังพยายามติดตั้งและเรียกใช้ gcc v8 (เวอร์ชัน v7 เป็นค่าเริ่มต้น)

ฉันได้ทำ: sudo apt-get install build-essential

sudo apt-get ติดตั้ง gcc-8

ในการพยายามทำให้ v8 เป็นค่าเริ่มต้นฉันได้: sudo update-alternative -- ติดตั้ง /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 sudo update-alternative -- ติดตั้ง /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

ถ้าฉันรัน gcc -v ฉันจะได้รับ:

การใช้ข้อกำหนดในตัว COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-ไม่มี OFFLOAD_TARGET_DEFAULT=1 เป้าหมาย: x86_64-linux-gnu กำหนดค่าด้วย: ../src/configure -v --with-pkgversion='Ubuntu 8.4.0-1ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-8/README ข้อบกพร่อง --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=- 8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix - -libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable- gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable -objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu รูปแบบกระทู้: posix gcc เวอร์ชัน 8.4.0 (Ubuntu 8.4.0-1ubuntu1~18.04)

แต่การเรียกใช้ make all -j ฉันได้รับ:

git submodule เริ่มต้น git submodule update --init --recursive mkdir -p สร้าง && cd สร้าง && cmake .. -- CMAKE_BUILD_TYPE: ปล่อย -- ไม่ทราบรหัสคอมไพเลอร์ CXX ข้อผิดพลาด CMake ที่ CMakeLists.txt:42 (โครงการ): CMAKE_CXX_COMPILER:

/usr/bin/c++

ไม่ใช่เส้นทางแบบเต็มไปยังเครื่องมือคอมไพเลอร์ที่มีอยู่

บอก CMake ว่าจะค้นหาคอมไพเลอร์ได้ที่ไหนโดยการตั้งค่าสภาพแวดล้อม ตัวแปร "CXX" หรือรายการแคช CMake CMAKE_CXX_COMPILER ไปยังเส้นทางแบบเต็ม ไปยังคอมไพเลอร์หรือชื่อคอมไพเลอร์หากอยู่ใน PATH

-- การกำหนดค่าไม่สมบูรณ์ เกิดข้อผิดพลาด!

อีกโพสต์ที่คล้ายกันแนะนำ build-essential แต่ฉันมีอยู่แล้ว - ฉันต้องทำอย่างไรเพื่อแก้ไข

ขอบคุณมากสำหรับความช่วยเหลือ!

hr flag
คุณลองวิธีแก้ไขที่แนะนำสำหรับการตั้งค่าตัวแปรสภาพแวดล้อม CXX หรือไม่ อดีต. `ส่งออก CXX=/usr/bin/g++-8` ก่อนรัน `make`
nl flag
ไม่ ฉันไม่รู้ว่าต้องตั้งค่าอะไร - ทำตามที่คุณแนะนำ แต่ไม่มี g++-8 อยู่...
hr flag
คุณติดตั้งหรือไม่ ฉันคิดอย่างนั้นเพราะเห็นได้ชัดว่าคุณเพิ่มมันเป็นทาสด้วยทางเลือกในการอัปเดต หากคุณไม่ได้ โปรดดำเนินการดังกล่าว (`sudo apt install g++-8`)
nl flag
gcc-7, g++-7 และ gcc-8 มีอยู่ แต่ /usr/bin/g++-8 ไม่มี - ฉันพลาดการติดตั้งหรือไม่
hr flag
น่าจะใช่ - `g++-8` เป็นแพ็คเกจแยกต่างหาก การติดตั้ง `gcc-8` เพียงอย่างเดียวนั้นไม่เพียงพอ
nl flag
ใช่มันหายไป - ติดตั้งแล้ว - ยังไม่มีความสุข! ข้อความเดียวกัน...
nl flag
มันกำลังมองหา /usr/bin/c++ ซึ่งเป็นลิงค์ไปยัง /etc/alternatives/c++ ซึ่งเป็นลิงค์ไปยัง /usr/bin/g++ ซึ่งไม่มีอยู่จริง...
cc flag
ลองดูที่ https://askubuntu.com/questions/1370061/i-am-using-ubuntu-20-04-lts-trying-to-get-from-gcc-9-4-to-gcc-10- หรือสูงกว่า/1370140#1370140 ซึ่งมีคำแนะนำสำหรับสถานการณ์ gcc ที่เทียบเท่า
nl flag
ตกลง @ubfan1 ฉันดูที่โพสต์และเรียกใช้การอัปเดตทางเลือกอีกครั้ง และนั่นแก้ไขแล้ว!
nl flag
ขอบคุณมากสำหรับทุกคนพบผู้รวบรวม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา