Hikayeler

Reklam vermek için turkmmo@gmail.com

discord_rpc_r.lib dosyası açılamıyor hatası

  • Konuyu başlatan q1ock
  • Başlangıç tarihi
  • Cevaplar 1
  • Görüntüleme 54

q1ock

Level 2
Üye
Katılım
29 Haz 2025
Konular
12
Mesajlar
53
Online süresi
12g 34754s
Reaksiyon Skoru
11
Altın Konu
0
Başarım Puanı
36
TM Yaşı
9 Ay 25 Gün
MmoLira
2,030
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Selamlar, discord_rpc sistemini sorunsuz bir şekilde kurdum. build ederken tek hata aldığım yer discord_rpc_r.lib dosyası açılamıyor. vs2022 kullanıyorum normalde. farklı fileslerden o dosyayı aldığımda sürüm hatası veriyor. Whistlenin videosunu izledim ancak extern build etme konusunu pek anlamadım. Bu konuda yardımcı olabilecek varsa çok sevinirim.
 
Selamlar, discord_rpc sistemini sorunsuz bir şekilde kurdum. build ederken tek hata aldığım yer discord_rpc_r.lib dosyası açılamıyor. vs2022 kullanıyorum normalde. farklı fileslerden o dosyayı aldığımda sürüm hatası veriyor. Whistlenin videosunu izledim ancak extern build etme konusunu pek anlamadım. Bu konuda yardımcı olabilecek varsa çok sevinirim.

O hata aslında çok net:


discord_rpc_r.lib açılamıyor → linker bu .lib dosyasını bulamıyor ya da hiç yok.
Başka src’den aldığın lib ise farklı VS/toolset ile derlendiği için sürüm / CRT uyumsuzluğu veriyor (LNK2038 vs).

Bu işi çözmenin yolu şu:
👉 Kendi kullandığın VS sürümüyle (v143 – VS2022) discord_rpc kütüphanesini kendin derleyip doğru isimle/game’e linklemek.


Aşağıya 3 adımda özetliyorum.




1️⃣ Önce şunu netleştirelim: discord_rpc_r.lib ne?​


Metin2 kaynaklarında genelde:


  • Debug’da: discord_rpc_d.lib
  • Release’te: discord_rpc_r.lib
    (veya tam tersi, packi hazırlayana göre)

Yani bu, discord-rpc’nin Release için derlenmiş static library’si.
Senin projende:


  • Linker → Input → Additional Dependencies içinde discord_rpc_r.lib yazıyor
  • Ama Extern\lib içinde bu dosya yok → “açılamıyor” hatası 🙂

Başkasının packinden aldığın .lib, büyük ihtimalle:


  • VS2013/2015 için derlenmiş
  • /MD ile derlenmiş, sen /MT kullanıyorsun
  • Bu yüzden “sürüm hatası / CRT mismatch” veriyor.

Doğrusu: kendi projene uygun bir lib derleyip kullanmak.




2️⃣ Extern’i derleyerek kendi discord_rpc_r.lib dosyanı üret​


Çoğu kaynakta şu klasör yapısı vardır:

Src/
ExtLibs / Extern / External /
Discord/
discord_rpc/
src, include, vsproj vs...


veya direkt Extern.sln gibi bir solution.


Adım adım:​


  1. VS2022 ile Extern/Discord çözümünü aç
    • Örn: Extern/discord_rpc.sln
    • Ya da Extern/Extern.sln içinde bir discord_rpc projesi
  2. Üstten şu ayarları yap:
    • Solution Configuration: Release
    • Platform: Win32 (x64 değil; Metin2 game/db 32-bit’tir)
  3. Build → Build Solution de.
    Başarılıysa sana şuna benzer bir şey üretir:
    Extern\discord_rpc\Release\discord_rpc.lib

  4. Şimdi bu lib’i al ve Metin2’nin beklediği yere kopyala:
    Örnek:
    Src\Extern\lib\discord_rpc_r.lib

    Eğer proje Extern\lib\discord_rpc_r.lib arıyorsa:
    • discord_rpc.lib dosyasını oraya kopyala
    • Adını discord_rpc_r.lib olarak değiştir
  5. Aynı işlemi bir de Debug için yap (istersen):
    • Configuration → Debug
    • Win32 seç → Build
    • Çıkan discord_rpc.lib dosyasını discord_rpc_d.lib olarak Extern\lib içine koy.

Böylece:


  • Release derlerken → discord_rpc_r.lib bulunur
  • Debug derlerken → discord_rpc_d.lib bulunur

Ve sürüm uyumsuzluğu olmaz, çünkü hepsi VS2022 v143 ile derlenmiş olur.




3️⃣ Game projesinin linker ayarlarını da kontrol et​


VS’de game projesine sağ tık → Properties:


a) VC++ Directories​


  • Library Directories kısmında mutlaka Extern\lib klasörü olmalı.
    Örnek:
    $(SolutionDir)Extern\lib

b) Linker → Input → Additional Dependencies​


Burada şunları görmelisin:

discord_rpc_r.lib


Eğer sen lib dosyasını farklı isimde ürettiysen (ör. discord_rpc.lib bırakıp adını değiştirmediysen):


  • Ya lib’in adını kodun beklediği gibi discord_rpc_r.lib yap
  • Ya da burada ismi discord_rpc.lib olarak değiştir

İsimler birebir aynı olmak zorunda.




4️⃣ “Extern build etme” olayı aslında tam olarak bu​


Whistle’ın dediği “extern’i build et” olayı şu demek:


  • Game/db projesinin kullandığı tüm harici kütüphaneleri (DevIL, libthecore, discord_rpc vs.)
  • Ayrı bir solution / project altında önce derliyorsun
  • Bunlar Extern\lib klasöründe .lib olarak oluşuyor
  • Game/db derlenirken bu .lib dosyalarına link oluyor

Yani sıralama:


  1. Extern (libs) build
  2. Sonra game/db build

Sen şu an 1. adımı atladığın için game aşamasında:


“discord_rpc_r.lib yok, açılamıyor”
diyor.



5️⃣ Özet (kısa reçete)​


  1. Discord RPC kaynak projesini bul (Extern içinde büyük ihtimal).
  2. VS2022 ile aç → Win32 / Release olarak derle.
  3. Çıkan discord_rpc.lib dosyasını Extern\lib\discord_rpc_r.lib şeklinde yerleştir.
  4. Game projesinde Linker → Library path ve Additional Dependencies ayarlarını kontrol et.
  5. Sonra game’i tekrar build et.

Buna rağmen hâlâ hata alırsan:


  • Hata satırını (LNKxxxx kodu ile birlikte)
  • Kullandığın klasör yapısını (Extern\lib içinde neler var)
    buraya yaz, sana birebir ona göre düzeltme yolu çizerim.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst