2012-12-17 24 views

Trả lời

18

Trích từ QT docs:

Tùy thuộc vào nền tảng mục tiêu của bạn, Qt cung cấp các macro đặc biệt mà chứa các định nghĩa cần thiết:

  • Q_DECL_EXPORT phải được bổ sung vào tờ khai của các biểu tượng được sử dụng khi soạn thảo một thư viện được chia sẻ.
  • Q_DECL_IMPORT phải được thêm vào các khai báo của các ký hiệu được sử dụng khi biên dịch ứng dụng khách sử dụng thư viện được chia sẻ.

tôi đã không kiểm tra mã QT, nhưng nhiều khả năng macro này sẽ làm như sau:

#ifdef _WIN32 || _WIN64 
    #define Q_DECL_EXPORT __declspec(dllexport) 
    #define Q_DECL_IMPORT __declspec(dllimport) 
#else 
    #define Q_DECL_EXPORT 
    #define Q_DECL_IMPORT 
#endif 

__declspec(dllimport)__declspec(dllexport) kể mối liên kết để nhập khẩu và xuất khẩu (tương ứng) một biểu tượng từ hoặc vào một DLL. Đây là Windows cụ thể.

Trong trường hợp cụ thể của bạn, macro này có thể bị xóa, vì main() rất có thể không phải là một phần của thư viện.

6

Đó không phải là từ khóa, là một macro của nó để đóng gói các từ khóa trình biên dịch cụ thể khác nhau để khai báo hàm là exported.

Xem thêm Q_DECL_EXPORTCreating Shared Libraries.

Nó thường được sử dụng với các thư viện để xác định các chức năng cần được xuất từ ​​thư viện, để được các thư viện khác hoặc các tệp thực thi nhập ("cũ").

Tôi chưa thấy điều này với chức năng main cho đến nay, nhưng đó có thể là một điều cụ thể của blackberry. Mặt khác, điều này tutorial không sử dụng vĩ mô với chức năng main(), vì vậy, nó có thể có thể được gỡ bỏ.

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