2016-09-15 13 views
15

Trình biên dịch g ++ của tôi cho chương trình C++ đã hoạt động tốt cho đến khi tôi cập nhật mã Xcode lên phiên bản mới nhất và chấp nhận thỏa thuận cấp phép. Tôi cũng đã cố gắng biên dịch với clang thay vì g ++ nhưng có lỗi. Bây giờ tôi nhận được một luồng lỗi dài. Bất cứ ai cũng có một ý tưởng gì là sai?"cảnh báo: phần" __const_coal "không được chấp nhận" sau khi cập nhật Xcode lên phiên bản mới nhất trên Mac OS

Ivans-MacBook-Pro:CS6771A3-GenericDirectedWeightedGraph ivanteong$ g++ -std=c++14 -Wall -Werror -O2 -o test6 tests/test6.cpp 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:1:11: warning: section "__textcoal_nt" is deprecated 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:1:11: note: change section name to "__text" 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:211:11: warning: section "__textcoal_nt" is deprecated 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:211:11: note: change section name to "__text" 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:604:11: warning: section "__textcoal_nt" is deprecated 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
/var/folders/3d/hqly97ld37b1kd6wx9gjn2tc0000gn/T//ccZfBPvE.s:604:11: note: change section name to "__text" 
     .section __TEXT,__textcoal_nt,coalesced,pure_instructions 
       ^ ~~~~~~~~~~~~~ 
+0

Hãy thử bỏ cờ '-O2' trong lệnh biên dịch của bạn. –

+0

Vẫn còn có vấn đề. Tôi cũng bỏ qua -0 và vẫn còn cùng một vấn đề. – iteong

+1

Tôi chỉ nhận ra rằng sau khi gỡ cài đặt Xcode, khi tôi thực hiện "xcode-select -p", nó không trỏ đến "/Applications/Xcode.app/Contents/Developer" (đó là khi Xcode được cài đặt) nhưng chỉ vào "/Library/Developer/CommandLineTools "để thay thế. Khi nó được trỏ đến sau này, tôi không có vấn đề biên dịch với gcc một lần nữa. Điều này có nghĩa là công cụ dòng lệnh được trỏ đến khi Xcode 8 được cài đặt là công cụ không hoạt động, phải không? Coz ngay bây giờ với Xcode gỡ cài đặt, có vẻ như các công cụ dòng lệnh được trỏ vào một thư mục khác theo mặc định và trình duyệt đó không làm hỏng trình biên dịch gcc. – iteong

Trả lời

15

Tôi đã nhận được cùng một cảnh báo tương tự về việc cập nhật lên Xcode v8.0. Tuy nhiên, bạn không cần gỡ cài đặt Xcode. Thay vào đó, bạn cần phải thiết lập đường dẫn của thư mục nhà phát triển tích cực:

sudo xcode-select -s /Library/Developer/CommandLineTools 
+0

Đây là giải pháp. Tôi nhận được Xcode 8 với gcc làm việc ngay bây giờ. Chúc mừng! – iteong

+1

nhưng tôi không tìm thấy vị trí 'CommandLineTools' – Kingiol

+0

@Kingiol Bạn có thể cài đặt các công cụ dòng lệnh với: ' xcode-select --install' – josephwb

Các vấn đề liên quan