Sürüm yükseltildiğinde karşınıza çıkıyor sadece. Yani aynı dosyayı 2013'te okurken 2019 ya da 2022 sürümünde okumuyor. Araştırdığımda dosyanın kullanılmadığını ileri sürenleri de gördüm. Dosyanın isminin değiştirilmesini gerektiğini savunanları da. Bunun için aşağıya basit bir çözüm bırakıyorum.
UserInterface.rc
arat
değiştir
Eski srclerde bu yokken martysama müşterilerine şöyle bir not bırakmış.
"// changed afxres.h to windows.h since the launcher is not using mfc"
(meali: // başlatıcı mfc kullanmadığından afxres.h dosyasını windows.h olarak değiştirdi)
İyi forumlar.
UserInterface.rc
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
"afxres.h"değiştir
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
"windows.h"Eski srclerde bu yokken martysama müşterilerine şöyle bir not bırakmış.
"// changed afxres.h to windows.h since the launcher is not using mfc"
(meali: // başlatıcı mfc kullanmadığından afxres.h dosyasını windows.h olarak değiştirdi)
İyi forumlar.
Client Sürüm Yükseltildiğinde Ortaya Çıkan afxres.h Hatası Çözümü
Metin2 özel sunucu geliştirme süreçlerinde, geliştiriciler zaman zaman Visual Studio üzerinde client derlemeleri yaparken afxres.h dosyası ile ilgili hatalarla karşılaşabilirler. Bu hata genellikle client sürümü yükseltildiğinde veya geliştirme ortamında farklı bir MFC (Microsoft Foundation Class) sürümü kullanıldığında ortaya çıkar. Bu yazıda bu hatanın neden oluştuğunu ve nasıl çözüleceğini detaylı olarak ele alacağız.
afxres.h Nedir?
afxres.h, Microsoft'un MFC (Microsoft Foundation Class) kütüphanesine ait bir başlık dosyasıdır. Visual Studio'nun eski sürümlerinde standart olarak gelen bu dosya, yeni sürümlerde bazı yapılandırmalarla birlikte eksik veya yanlış referans edilebilir. Özellikle Metin2 client geliştirme sürecinde, kullanıcı arayüzü (UI) komponentlerinin tanımlandığı alanlarda bu dosyanın kullanımı yaygındır.
Hatanın Nedeni
Client sürümü yükseltildiğinde, yeni derleme araçları ve platform SDK sürümleriyle birlikte afxres.h dosyasının konumu değişebilir veya Visual Studio bu dosyayı doğru şekilde bulamaz. Bu durumda geliştirici aşağıdaki gibi bir hata alabilir:
'afxres.h' dosyası bulunamadı
Bu hata genellikle aşağıdaki sebeplerle meydana gelir:
- Eski MFC yapılandırmasının yeni derleyici versiyonuyla uyumsuzluğu
- Gerekli Windows SDK veya MFC kitaplıklarının eksik yüklenmesi
- Proje ayarlarında hatalı INCLUDEPATH veya LibraryPath referansları
Çözüm Adımları
1. MFC Kitaplıklarını Yükleyin
Visual Studio Installer üzerinden MFC kütüphanelerinin yüklü olduğundan emin olun. Bunu yapmak için şu adımları izleyin:
- Visual Studio Installer'ı açın
- Uygulamalar sekmesinden yüklü Visual Studio sürümünü seçip 'Değiştir' butonuna tıklayın
- Bileşenler sekmesinde 'MSVC v... C++ MFC for latest v... build tools (x86 & x64)' seçeneğinin seçili olduğundan emin olun
- Gerekirse 'Windows 10 SDK' veya 'Windows 11 SDK' yüklü olduğundan emin olun
2. afxres.h Dosyasını Manuel Olarak Konumlandırın
Genellikle bu dosya aşağıdaki konumlardan birinde yer alır:
C:\Program Files (x86)\Microsoft Visual Studio\[VERSİYON]\Community\VC\Tools\MSVC\[SÜRÜM]\atlmfc\include\afxres.h
Proje ayarlarından 'Additional Include Directories' kısmına bu dizini ekleyin.
3. Proje Ayarlarını Güncelleştirin
Aşağıdaki yapılandırmaları kontrol edin:
- Proje sağ tıkla > Özellikler > VC++ Dizinler > Include Dizinleri kısmında MFC include yollarının doğru olduğundan emin olun
- Proje sağ tıkla > Özellikler > Genel > Platform Toolset ayarının güncel Visual Studio sürümüne uygun olduğundan emin olun
Not: afxres.h Kullanımı Gereksizse Kaldırın
Eğer client geliştirme sürecinde MFC ile doğrudan bir bağlantı yoksa ve bu dosya sadece kalıtım yoluyla çağrılıyorsa, afxres.h kullanımını kaldırarak da sorunu çözebilirsiniz. Bunun için ilgili .rc dosyasından bu satırı kaldırmanız yeterlidir:
#include <afxres.h>
Sonuç
Client sürüm yükseltmeleri sırasında karşınıza çıkabilecek afxres.h hatası, genellikle geliştirme ortamındaki yapılandırma eksikliklerinden kaynaklanır. Doğru kütüphane yolları, MFC desteği ve proje yapılandırmaları ile bu sorun kolayca aşılabilir. Bu tür hatalarla karşılaştığınızda öncelikle Visual Studio kurulumunuzu ve MFC desteğini kontrol etmenizi öneririz.
Metin2 özel sunucu geliştirme süreçlerinde daha fazla ipucu ve çözüm için Metin2Lobby sitesini takip etmeye devam edin.
Solution for afxres.h Error Appearing After Client Version Upgrade
During Metin2 private server development processes, developers may encounter errors related to the afxres.h file while building clients in Visual Studio. This error typically occurs when the client version is upgraded or when a different MFC (Microsoft Foundation Class) version is used in the development environment. In this article, we will examine in detail why this error occurs and how to resolve it.
What is afxres.h?
afxres.h is a header file belonging to Microsoft's MFC (Microsoft Foundation Class) library. Previously included by default in older versions of Visual Studio, this file may be missing or incorrectly referenced with newer versions due to certain configurations. Particularly during Metin2 client development, this file is commonly used in areas defining user interface (UI) components.
Reason for the Error
When upgrading the client version, along with new build tools and platform SDK versions, the location of the afxres.h file may change, or Visual Studio may fail to locate the file correctly. In such cases, developers might receive an error like:
'afxres.h' file not found
This error generally occurs due to the following reasons:
- Incompatibility between old MFC configuration and new compiler version
- Missing installation of required Windows SDK or MFC libraries
- Incorrect INCLUDEPATH or LibraryPath references in project settings
Solution Steps
1. Install MFC Libraries
Ensure that MFC libraries are installed via Visual Studio Installer. Follow these steps:
- Open Visual Studio Installer
- Select your installed Visual Studio version and click 'Modify'
- Under Components, ensure 'MSVC v... C++ MFC for latest v... build tools (x86 & x64)' is selected
- Ensure 'Windows 10 SDK' or 'Windows 11 SDK' is installed if needed
2. Manually Locate the afxres.h File
Usually, this file is located in one of the following paths:
C:\Program Files (x86)\Microsoft Visual Studio\[VERSION]\Community\VC\Tools\MSVC\[VERSION]\atlmfc\include\afxres.h
Add this directory to 'Additional Include Directories' in your project settings.
3. Update Project Settings
Check the following configurations:
- Right-click on project > Properties > VC++ Directories > Ensure MFC include paths are correct under Include Directories
- Right-click on project > Properties > General > Ensure Platform Toolset matches your current Visual Studio version
Note: Remove if afxres.h Usage is Unnecessary
If there is no direct connection to MFC during client development and this file is called only through inheritance, you can resolve the issue by removing the use of afxres.h. To do so, simply remove this line from the relevant .rc file:
#include <afxres.h>
Conclusion
The afxres.h error that may appear during client version upgrades typically stems from configuration issues in the development environment. This problem can be easily resolved with correct library paths, MFC support, and project configurations. When encountering such errors, we recommend checking your Visual Studio installation and MFC support first.
For more tips and solutions in Metin2 private server development, continue following the Metin2Lobby site.
