2012-05-22 37 views
11

Tôi có dự án Qt và muốn sử dụng thư viện bên ngoài bao gồm "afxstr.h". Vấn đề là bất cứ khi nào tôi biên dịch sau khi liên kết các lib và bao gồm cả tiêu đề của họ, tôi nhận được một lỗi:Thêm hỗ trợ MFC vào dự án Qt

#error afxstr.h can only be used in MFC projects. Use atlstr.h 

Tất nhiên, dự án của tôi không phải là một dự án MFC và tôi không thể sử dụng atlstr.h thay vì nó không phải thư viện của tôi

Tôi đang tìm giải pháp nhanh chóng!

Tôi đang sử dụng VS2010.

Thư viện được đề cập là Interactive Brokers API.

+0

Đây có phải là một mã nguồn mở và tự do thư viện có sẵn? Nếu vậy, có một liên kết? – HostileFork

+0

API môi giới tương tác. Nó là miễn phí, nhưng không có nguồn mở –

+0

Bạn đã thử sửa đổi các tệp tiêu đề của thư viện sao cho chúng bao gồm 'atlstr.h' thay vì' afxstr.h'? Hai tệp tiêu đề này có thể nhắm mục tiêu thực hiện cùng một 'CString'. –

Trả lời

4

Cài đặt tương ứng là Thuộc tính cấu hình/Chung, Sử dụng MFC.

Tùy chọn trình biên dịch ngụ ý từ đó là/D "_AFXDLL" khi sử dụng MFC trong một DLL. Đối với các tùy chọn liên kết, tò mò các liên kết rõ ràng của các thư viện nhập cửa sổ (chẳng hạn như kernel32.lib) bị loại bỏ.

Visual Studio dường như tự động tìm các thư viện tương ứng. Tuy nhiên, tùy chọn "Sử dụng MFC" được lưu trữ với tệp dự án, vì vậy tôi không thể nói nó sẽ chuyển thành tập lệnh xây dựng tùy chỉnh như thế nào.

Đầu tiên bao gồm phải

#include <afx.h> 

và bạn không thể bao gồm windows.h trước đó. Thông thường, đó là lần đầu tiên bao gồm trong stdafx.h nếu bạn sử dụng các tiêu đề được biên dịch trước. Ngoài ra, các tiêu đề MFC khác có thể được bao gồm miễn phí khi cần thiết.

Tôi nghi ngờ rằng đây là kết thúc của câu chuyện, làm cho MFC chơi với bất cứ điều gì là đau đớn, và đôi khi nó dễ dàng hơn để bỏ :) Một google nhanh tiết lộ rằng có những giải pháp, nhưng họ liên quan đến mã bổ sung và được thay cũ.

1

tốt, bạn đã biết điều này, chỉ cần làm cho nó rõ ràng hơn:

.pro tập tin add: định nghĩa + = IB_USE_STD_STRING

tránh sử dụng MFC CString

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