2012-01-29 28 views
6

Tôi đang cố gắng sử dụng KeyChainitemwrapper do apple cung cấp. Dự án của tôi đang sử dụng ARC nhưng tôi đã bật ARC trên KeyChainitemwrapper.m. các 'security.framework' khuôn khổ để dự án của tôiLàm cách nào để sửa lỗi "Không xác định biểu tượng cho kiến ​​trúc i386:" _main "liên kết vấn đề?

tôi nhận được vấn đề này liên kết:.

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)

tôi mới để phát triển ios nhưng tôi đoán là vấn đề đã làm với thực tế là giả lập đang cố gắng biên dịch nhắm mục tiêu nguồn của tôi i386 thay vì cánh tay? Tôi có đóng không?

Anyways .. nó xuất hiện rằng wrapper này là khá phổ biến vì vậy tôi đã tự hỏi nếu một người có thể quen thuộc với vấn đề này có thể cho vay một bàn tay.

Cảm ơn

Trả lời

24

Điều này cho thấy bạn không biên soạn main.m trong dự án của mình. Hãy chắc chắn rằng những điều sau đây:

  • Bạn có một main.m trong dự án của bạn
  • Nó có một chức năng trong nó được gọi là main()
  • Bạn đang thực sự biên dịch nó. Chuyển đến dự án của bạn, sau đó Xây dựng giai đoạn, sau đó biên dịch nguồn. Đảm bảo rằng main.m có trong danh sách.
+0

Cảm ơn bạn đã trả lời. Dự án của tôi không chứa tệp có tên main.m. Ngoài ra tôi có thể tìm thấy không có tham chiếu đến 'chính'. – Nick

+0

Có bạn đi. Bạn không có 'main()', như trình biên dịch chỉ ra. Bạn có lẽ nên xây dựng lại dự án của bạn từ một mẫu dự án. –

+0

Tôi đã bắt đầu với một mẫu dự án. Có lẽ tôi đã vô hiệu hóa việc xây dựng một cái gì đó ?? – Nick

0

mã của bạn sẽ được biên dịch cho kiến ​​trúc i386 khi bạn sử dụng trình mô phỏng. Nếu bạn sử dụng một thiết bị thực, mã của bạn sẽ được biên dịch cho cánh tay.

tôi đã tải xuống dự án này, có tệp main.c bên trong nhóm "các nguồn khác".

0

Xóa tham chiếu đến main.ce trong dự án của bạn giải quyết vấn đề này cho tôi

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