yakisikliyazilimci Rütbe seviyesi 1 Konu Sahibi
Eski source altyapılarını güncel FreeBSD ve GCC sürümlerine (GCC9, GCC10, GCC11) yükseltirken en çok karşılaşılan narrowing conversion ve c++11 uyumsuzluk hatalarını derledim.
1. Narrowing Conversion Hatası:
GCC9 ve sonrasında struct başlatmalarında daraltıcı dönüşümler hata verir. Çözüm için Makefile dosyanızdaki `CFLAGS` satırına şu bayrağı ekleyebilirsiniz:
-Wno-narrowing -Wno-unused-variable
2. C++ Standartı Tanımlama:
Eski Makefile'larda `CXXFLAGS` içinde `-std=c++11` veya `-std=c++17` bayrağının açık olduğundan emin olun:
CXXFLAGS += -std=c++17 -Wall -O2 -pipe
3. extern "C" Uyumsuzlukları:
Cryptopp ve LZO kütüphanelerini derlerken header dosyalarında `extern "C"` bloklarının düzgün kapatıldığını kontrol edin.
Sorun yaşayan veya derleme sırasında takılan olursa Makefile çıktısını atabilir, yardımcı olmaya çalışırım.