Biên dịch C ++ trong Arch Linux không có gói g ++ trong kho


9

Tôi muốn biên dịch chương trình C ++ trong Arch Linux, nhưng không có gói "g ++" như trong kho Ubuntu chẳng hạn.

Sử dụng -xquá sẽ không làm việc. như thế này:

gcc -x c++ -o myprog myprog.cpp

Câu trả lời:


9

gcc là cả trình biên dịch C và C ++.
Nó sẽ xem xét phần mở rộng của tệp và xử lý tương ứng.
g ++ chỉ là một trình bao bọc gọi gcc
g ++ được cài đặt với gói gcc trong Arch

gcc file.C # uppercase .C (or .cpp) will process as C++ 
gcc file.c # lowercase .c will process as C

Mặc dù tôi có gcc trên Arch của tôi, nhưng không có g ++, và mặc dù tệp của tôi là prog.cppvà tôi cũng sử dụng -x c++tôi nên nói với bạn rằng nó chỉ hoạt động trong trường hợp tôi cũng thêm -lstdc++, nó biên dịch chính xác. Bạn có đề xuất phương pháp này? ( gcc -x c++ -o myprog -lstdc++ myprog.cpp)
Haix64

Nếu bạn sử dụng std c ++ trong mã của mình thì có, bạn cần liên kết (-lstdc ++) với thư viện std c ++. Tôi đã cài đặt gcc trên vòm của tôi và g ++ có mặt. Nó phải ở trong / usr / bin, tôi không tin -x c ++ là cần thiết nếu phần mở rộng tệp là .cpp, gcc nên chọn trên đó
bsd

1
g ++ nên là một phần của gói gcc. Bạn đã thử cài đặt lại gcc?
Craig

1
g ++ là một phần của gói gcc
bsd

Bạn phải đúng Craig. Tôi đã không cài đặt gcc theo cách thủ công, vì tôi nghĩ rằng có quyền truy cập vào gcc nên có nghĩa là tôi đã có toàn bộ gói trên hệ thống, nhưng pacman cho tôi thấy có 18 MB để tải xuống cho gói gcc. Tôi chưa làm điều đó nhưng tôi chắc chắn rằng nó hoạt động ngay khi tôi làm điều đó. Cảm ơn sự giúp đỡ của bạn, Craig và suy sụp.
Haix64
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.