Không thể mở bao gồm tệp 'afxres.h' trong VC2010 Express


137

Tôi đang cố gắng biên dịch một dự án cũ bằng VS express 2010 nhưng tôi gặp lỗi này:

lỗi nghiêm trọng RC1015: không thể mở bao gồm tệp 'afxres.h'. từ mã này

/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

Tôi đã cài đặt Windows SDK rồi nhưng không thành công.

cảm ơn!

Câu trả lời:


190

Tiêu đề này là một phần của Thư viện MFC. Phiên bản VS Express không chứa MFC. Nếu dự án của bạn không sử dụng MFC bạn một cách an toàn có thể thay thế afxres.hvới windows.htrong của bạn terrain2.rc.


4
cảm ơn, sau đó tôi nhận được lỗi: lỗi RC2104: từ khóa hoặc tên khóa không xác định: IDC_STATIC
kẹp

@clamp: nghe giống như một định nghĩa Điều khiển chung. hãy thử thêm #include <Commctrl.h> (và liên kết chương trình của bạn với Comctl32.lib)
Mặc định

3
Mặt khác, IDC_STATIC được định nghĩa là -1, do đó, hãy tự xác định nếu đó là vấn đề duy nhất còn lại.
erikH

36
winres.h định nghĩa IDC_STATIC để bạn có thể chỉ cần #include <winres.h> thay vì afxres.h hoặc windows.h.
Conrad Poelman

3
Không phải là giải pháp cho VS 2017

123

Có cùng một vấn đề. Đã sửa nó bằng cách cài đặt Microsoft Foundation Classes cho C ++.

  1. Khởi đầu
  2. Thay đổi hoặc xóa chương trình (loại)
  3. Microsoft Visual Studio
  4. Sửa đổi
  5. Chọn 'Microsoft Foundation Classes cho C ++'
  6. Cập nhật

nhập mô tả hình ảnh ở đây


18
Điều này có thể sẽ không giúp OP vì anh ấy / cô ấy đang ở phiên bản Express, nhưng chắc chắn nó đã giúp tôi! Cảm ơn.
nemec

2
Đã giải quyết vấn đề của tôi - Tôi đang ở trên Visual Studio 2013 Ultimate và nó hoạt động tốt. Cảm ơn! :-)
AStopher

4
Tôi cũng có thể giải quyết vấn đề của mình trên phiên bản cộng đồng Visual Studio 2015 với câu trả lời này.
Andy Li

2
Trong Visual Studio 2017 Pro, tôi gặp lỗi này ngay cả với các thành phần MFC được cài đặt.
jrh

37

Ngay cả tôi cũng đối mặt với vấn đề tương tự,

lỗi nghiêm trọng RC1015: không thể mở bao gồm tệp 'afxres.h'. từ mã này

Thay thế afxres.h bằng Winresrc.h và khai báo IDC_STATIC là -1 làm việc cho tôi. (Sử dụng phòng thu trực quan Premium 2012)

//#include "afxres.h"
#include "WinResrc.h"
#define IDC_STATIC  -1

Làm việc cho tôi để giải quyết vấn đề với phiên bản pro VS2019.
MCoder

11

Ngoài ra, bạn có thể tạo afxres.h của riêng bạn:

#ifndef _AFXRES_H
#define _AFXRES_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _WINDOWS_H
#include <windows.h>
#endif

/* IDC_STATIC is documented in winuser.h, but not defined. */
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif

#ifdef __cplusplus
}
#endif
#endif   

2
hữu ích khi hỗ trợ đa nền tảng
bảnh bao 7/215

8

Bạn cũng có thể thử thay thế afxres.h bằng WinResrc.h


Tôi đã thay đổi tệp thành windows.h và WinResrc.h và thông báo đã thay đổi trong cả hai trường hợp thành một mớ hỗn độn khác: lỗi RC2104: từ khóa hoặc tên khóa không xác định: IDC_STATIC .. Tôi chỉ đoán rằng IDC_static này được xác định trong afxres ban đầu .h tập tin, nhưng làm thế nào để khắc phục lỗi mới này?
hashDefine

6

quản lý để khắc phục điều này bằng cách sao chép thư mục bên dưới từ một thiết lập Visual Studio khác (không thể hiện)

từ C: \ Tệp chương trình (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc

đến C: \ Tệp chương trình (x86) \ Microsoft Visual Studio 11.0 \ VC \ atlmfc


1

một vấn đề tương tự là đối với Visual studio 2015 RC. Đôi khi nó mất khả năng mở RC: bạn nhấp đúp chuột nhưng trình soạn thảo không có một menu và hộp thoại.

Nhấp chuột phải vào tệp * .rc, nó sẽ mở ra:

nhập mô tả hình ảnh ở đây

Và thay đổi như sau:

nhập mô tả hình ảnh ở đây


1
Điều này không hiệu quả với tôi: lỗi nghiêm trọng RC1015: không thể mở bao gồm tệp 'afxres.h'.
ardila

-1

Có vấn đề tương tự nhưng thông báo đã được hiển thị khi tôi cố gắng mở một giải pháp dự án. Những gì làm việc cho tôi là:

CÔNG CỤ -> Nhập và xuất cài đặt ...-> Đặt lại tất cả cài đặt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.