2013-06-16 24 views
11

tôi đang làm việc với utils.c tập tin này trong xcode, trong đó có những điều sau đây:Dự kiến; sau đầu declarator cấp, lỗi trong xcode

#if FF_API_AVCODEC_OPEN 
    int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec) 
    { 
     return avcodec_open2(avctx, codec, NULL); 
    } 

Nó gây ra một Expected ; after top level declarator, lỗi (trong xây dựng) trong xcode tại dòng này: int attribute_align_arg avcodec_open(....

Tại sao? và tôi nên làm gì để giải quyết vấn đề này.

Cảm ơn bạn.

+2

Có vẻ như 'attribute_align_arg' chưa được xác định. Bạn cần bao gồm tệp tiêu đề thích hợp mà theo Google là 'libavutil/internal.h' –

+0

Nếu giải pháp của @ CaptainObvlious không phải vậy, các dòng trên mã bạn đã cung cấp là gì? – xaxxon

+0

@Captain Obvlious, 'libavutil/internal.h' được bao gồm trong đường dẫn tiêu đề xcodes. Lỗi không phải là về định nghĩa của một đối tượng, cũng không phải là một tệp '.h'. Đó là về (tôi nghĩ) rằng xcode đang mong đợi một ';' ngay sau 'int attribute_align_arg' trong câu lệnh trên. – cube

Trả lời

38

Tôi gặp phải lỗi này khi sử dụng tính năng tự động hoàn thành.

Khi chèn tham số của hàm, XCode sẽ chèn trình giữ chỗ cần chỉnh sửa nhưng hiển thị dưới dạng C++ hoàn toàn hợp lệ trong GUI.

Tôi đã mất một vài giờ cho đến khi tôi đã kiểm tra hồ sơ của tôi trong trình soạn thảo khác, tiết lộ rằng thay vì dự kiến:

trống func (int a)

XCode đã đưa vào thực tế

void func (< #int a #>)

Trong trình soạn thảo XCode, tham số hiển thị là int a với nền màu xanh lam nhạt, do đó không dễ dàng phát hiện nguồn gốc của lỗi trình biên dịch.

+0

Cảm ơn Nó đã giúp :) – SpiXel

+2

Thật không thể tin được! Nó không giống như một người giữ chỗ – cowls

+1

Tôi đã cắt một miếng dán và có thứ tương tự. Phải có một số nhân vật đặc biệt trong đó. Tôi đã xóa, gõ lại và lỗi đã biến mất :) – kmiklas

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