2012-03-21 17 views
6

Tôi gặp lỗi khi xây dựng. Xcode returnCách xem lời gọi trong Xcode

Undefined symbols for architecture i386: 
    "_main", referenced from: 
     start in crt1.10.6.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Bạn có biết làm cách nào để khởi chạy build with -v để xem lời gọi?

+1

Bạn đã tìm hiểu chưa? –

+2

điều này rất thường xảy ra với các nhà phát triển, nhưng không ai trả lời cho nó – MichaelP

+0

có thể trùng lặp của [Làm thế nào để có được kêu gọi cho Xcode "kêu vang" lỗi biên dịch thời gian?] (Http://stackoverflow.com/questions/19031963/how- call-get-invocation-for-xcode-clang-compile-time-error) – Aurelius

Trả lời

3

Trong Xcode nhấp vào 'Xem', 'Trình điều hướng' và 'Hiển thị báo cáo điều hướng', sau đó nhấp vào bản dựng không thành công. Trong danh sách các bước xây dựng, bạn sẽ thấy 'sử dụng -v để xem lời gọi' - nhấp chuột phải vào biểu tượng tiết lộ (bên cạnh biểu tượng lỗi).

Screenshot indicating where to click Làm như vậy sẽ hiển thị chi tiết về lời gọi trình liên kết.

Tất nhiên, vấn đề thực tế là bạn đang xây dựng một tệp thực thi mà không bao gồm tệp chứa 'chính'. Thông thường, một được tạo cho bạn và tự động được bao gồm - dựa trên mục tiêu. Nếu bạn đang thực hiện một mục tiêu chính mình; bạn sẽ cần main() được thực hiện ở đâu đó.

+4

Trình điều hướng nhật ký thường là biểu tượng ngoài cùng bên phải trong danh sách biểu tượng của cột điều hướng (bên trái), IIRC. –

+1

Đã thử. Chỉ nhận được chính xác thông tin mà trình biên dịch đã cho tôi khi nó ném lỗi ... cùng một thông tin mà nói '(sử dụng -v để xem lời gọi)'. Nói cách khác, nó là khá rõ ràng đây không phải là làm thế nào để có được lời gọi. – JohnK

+1

Nhiều lần tôi phải đối mặt với cùng một lỗi (người dùng -v để xem lời gọi), nhưng tôi không thể hiểu WHERE và CÁCH sử dụng "-v" để xem lời gọi !!!! – HarshIT

1

Bạn có thể thêm dấu v vào trường "Cờ liên kết khác" trong cài đặt dự án. Làm như vậy trong một dự án thử nghiệm ở đây mang lại invocation mối liên kết hoàn chỉnh:

complete linker invocation

complete linker invocation

khi bạn thêm -v để "Flags Linker khác" bạn sẽ nhận được thêm thông tin, đây là sự khác nhau giữa add trước và thêm sau

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