2016-02-16 25 views
11

Tôi đã chuyển đổi dự án VS 2012 thành VS 2015 bằng cách sử dụng công cụ chuyển đổi tự động. Khi tôi cố gắng để tải một tập tin tài nguyên (rc) nó không thành công với lỗi này:Không thể mở tệp tài nguyên trong VS 2015: Không thể mở bao gồm tệp afxres.h

gây tử vong RC1015 lỗi: Không thể mở tập tin bao gồm afxres.h

Bất kỳ ý tưởng?

+0

'afxRes.h' là một tiêu đề MFC. Cài đặt VS 2015 của bạn có bao gồm MFC không? – dxiv

+1

@fxiv Bạn nói đúng, nhưng không may ít nhất VS2010 đã đưa "#include afxres.h" vào các tệp rc cho các ứng dụng giao diện điều khiển không phải MFC, vì vậy sự phụ thuộc này có một chút ngạc nhiên. –

+0

Hãy xem: http://stackoverflow.com/questions/3566018/cannot-open-include-file-afxres-h-in-vc2010-express – Matthias

Trả lời

9

Tôi đã thấy cùng một sự cố với ứng dụng bảng điều khiển mà không cần MFC được tạo bằng Visual Studio 2010.

Một giải pháp là sửa đổi cài đặt Visual Studio 2015 để bao gồm MFC. MFC không được cài đặt theo mặc định vì kích thước của nó. Nhưng theo ý kiến ​​của tôi, điều này chỉ nên được áp dụng nếu bạn có các ứng dụng sử dụng MFC.

Nếu bạn chỉ cần MFC cho afxres.h bạn có thể thay

#include "afxres.h" 
[...] 
"#include ""afxres.h""\r\n" 

với

#include "WinResrc.h" 
[...] 
"#include ""WinResrc.h""\r\n" 

Bạn có thể cần phải thêm (nhưng bạn sẽ thấy rằng khi biên dịch các nguồn lực).

#define IDC_STATIC -1 
[...] 
"#define IDC_STATIC -1""\r\n" 

Như bạn có thể thấy trong tệp rc, một trong các phần là TEXTINCLUDE. Khi biên tập viên tài nguyên của Visual Studio mở tệp rc và lưu nó trở lại vào đĩa, hãy lấy phần này và đặt văn bản vào phần được đánh dấu bằng "Được tạo từ TEXTINCLUDE [...]". Vì vậy, hãy cẩn thận để thay đổi cả hai nơi ít nhất là phần TEXTINCLUDE để trình chỉnh sửa tài nguyên có thể thực hiện phần còn lại.

+2

Giải pháp tuyệt vời! Tôi chỉ rơi vào cùng một vấn đề khi di chuyển một dự án VS2013 cũ để cài đặt VS2017 hoàn toàn mới mà không cần MFC. Thay thế afxres với WinResrc mở khóa xây dựng của tôi. –

0

This answer trên trang web Thomson Reuters đã làm việc cho tôi. Thêm cho người dùng khác:

You probably need to modify the Visual Studio 2015 setup and add the MFC .

Please close VS2015 and go to Control Panel -> Programs and Features -> Microsoft Visual Studio -> Change -> Modify -> Add Microsoft Foundation Classes

See the figure below:

enter image description here

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