GCC: ข้อผิดพลาดพยายามที่จะ exec 'cc1plus: execvp: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว


19

ฉันเป็นมือใหม่ แต่ชอบผจญภัย ฉันกำลังบูท Windows, Fedora และ Ubuntu 14.04 LTS (ทั้ง 64) การเรียนรู้ แต่ไม่ใช้ dpkg, apt และ apt-get เริ่มศึกษา C ++ โดยใช้ Ubuntu (ติดตั้ง gcc เพียงตัวเดียว) ดังนั้นในความพยายามครั้งแรกของฉันรวบรวมฉันวิ่งคำสั่งgcc xy.ccและได้รับต่อไปนี้:

gcc: error trying to exec 'cc1plus' : execvp: No such file or directory

ดังนั้นฉันค้นหาคอมพิวเตอร์ของฉันเพื่อหา cc1plus และ execvp และพบว่าค่า execvp.3.gz เพียงในไดเรกทอรี/user/share/man/man3และ cc1 /user/lib/gcc/x86_64-linux-gnu/4.8ใน

ดังนั้นทั้งกลุ่มของการทำงานและการเรียนรู้เกี่ยวกับ getters แพคเกจและตรวจสอบ แต่ไม่มีความกล้าหาญที่จะลบและติดตั้ง ฯลฯ

คุณมีคำแนะนำไหม?

คำตอบ:


24

คุณอาจไม่มีแพ็คเกจ g ++ ในเครื่องของคุณ เปิดเทอร์มินัลและติดตั้งโดยใช้คำสั่งด้านล่าง:

sudo apt-get install g++

เพื่อรวบรวมโดยใช้ g ++ ใช้สิ่งนี้

g++ -o test.o test.cpp

g ++ สามารถใช้ในการคอมไพล์ซอร์ส C ++ การติดตั้งอูบุนตูเริ่มต้นมาพร้อมกับ gcc แต่ไม่ใช่กับ g ++

คุณพยายามที่จะรวบรวมมา C ++ ใช้คอมไพเลอร์ C gcc มักจะประสบความสำเร็จในคอมไพล์รหัส c ++ แต่โดยปกติก็ไม่ได้เชื่อมโยง C ++ ห้องสมุดเฉพาะเจาะจงใด ๆ (โปรดดูคำตอบเกี่ยวกับเรื่องนี้มากเกิน Stack )

หากข้อความปรากฏขึ้นเช่น: Couldn't find package ...ให้ลองคำสั่งต่อไปนี้

sudo apt-get update && sudo apt-get upgrade

แล้วก็

sudo apt-get install g++

6

cc1plus เป็นแบ็กเอนด์ c ++ (คอมไพเลอร์ตัวจริง) สำหรับ gcc หากคุณต้องการโปรแกรมเป็นหลักใน c ++ คุณจะต้องติดตั้ง g ++ (จะมี cc1plus ด้วย) ใช้คนที่ด้านหน้าของระบบแพคเกจปลาย apt-get, synaptic ผู้จัดการซอฟต์แวร์หรือจำนวนของผู้อื่นก็จะติดตั้งการอ้างอิงกับมัน

execvp เป็นฟังก์ชั่นการเขียนโปรแกรมไฟล์ที่คุณพบว่าตรงกับมันคือหน้า man (manual) ไปที่มุมมองมันเปิด terminal man execvpและประเภท หน้าคนมักออนไลน์ครั้งและพวกเขามีข้อมูลมากมายใน cli และเขียนโปรแกรม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.