C ++ kitaplıklarıyla bağlantı kurmak çok uğraş gerektirir ve doğru şekilde yapmak için çok fazla bilgi ve çaba gerektirir. C ++ öğrenenlerine korkutucu olabilir.
Çoğu zaman, belirli bir C ++ kütüphanesinin yazarları / koruyucular bunu göz önünde bulunduracak ve şu ya da bu şekilde önerecektir.
Başka bir deyişle, yazarlar / koruyucular kütüphanenin başlıklar tarafından dahil edilmesini ( yalnızca * .h ve .hpp) veya kaynağa ( .h * veya .c ) dahil etmeyi planlıyorlarsa , benioku dosyasında çok açık bir şekilde söylerdi veya belgeler.
Çapraz platform olarak tasarlanan ve sürdürülen kitaplıklarda (ve birden çok C ++ derleyici satıcısı ve ortamıyla uyumlu) genellikle bir makefile sistemi veya bir derleme yapılandırma sistemi (CMake gibi) bulunur. Bu sistemler, platform farklılıklarını düzelten başlık şimleri oluşturmak ve uygun komut satırı seçeneklerini ve doğru sırayla kaynak dosyalarda derleyiciyi ve bağlayıcıyı çağıracak komut dosyaları oluşturmak için kullanılır. Platforma ve yapılandırmaya bağlı olarak, bu derleme sistemleri belirli başlıkları veya kaynak dosyalarını içerebilir veya hariç tutabilir veya belirli önişlemci sembollerini tanımlayabilir veya tanımlarını kaldırabilir.
Yazarların / bakıcıların tavsiyelerine karşı çıkmak mümkündür, ancak bu her zaman kapsamlı bir taşıma çabası gerektirir. Bu taşıma çabası için gereken iş miktarı, farklı bir C ++ ortamına taşıma ile karşılaştırılabilir.
Visual C ++, bir proje açıklama dosyasına (kısmen XML tabanlı) dayalı kendi derleme sistemini kullandığından, Linux altında kullanılan komut dosyası tabanlı derleme sisteminden oldukça farklıdır. CMake tarafından kullanılan yaklaşım, CMake'in yapılandırma ayarlarını alması ve ardından tüm Visual C ++ proje yapısını yayması ve yapılandırma seçenekleri * .vcxproj dosyalarına dönüştürülmesidir.
Visual C ++ ile C ++ bağlantısı sırasında sorunlar oluşursa, * .vcxproj dosyalarındaki derleme ayarları Visual Studio GUI (proje özellik sayfaları iletişim kutusu kullanılarak) kullanılarak değiştirilebilir. Bu, bir düzine önemli C ++ derleme ve bağlantı ayarının anlamlarını ve sonuçlarını iyice anladığınızı varsayar.
Şimdi Visual C ++ kullanmanın en aptal kısmı geliyor: Bir düzine farklı üçüncü taraf kitaplığı kullanıyorsanız, bunların tümü için oluşturma ayarlarını değiştirmek her * .vcxproj dosyasına girmek ve aynı değişikliği bir düzine GUI'de tekrarlamak anlamına gelir zamanlar. Bir güçlük, ama doğru bir şekilde nasıl yapılacağını biliyorsanız, yapılabilir.
Çoğu Visual C ++ öğrenicisi, hata kodlarıyla tanımlanan Visual C ++ derleyici ve bağlayıcı hatalarını gözlemleyerek bu ayarları zor yoldan öğrenir. Örneğin, "Sembol sembolü bir kereden fazla tanımlandı" nın yüzeysel anlamıyla LNK2005'e bakılabilir, ancak yinelenen tanımın dikkatsiz bir programlama hatasından kaynaklanmadığı anlaşılması yerine, bazılarından dolayı olabilirdi. derleme ve bağlantı seçeneklerinin çakışmaları veya yanlış uygulamaları.
Durumunuza daha spesifik ve kullanışlı bir cevap vermek için, kullanmak istediğiniz kitaplıkların adlarını ve karşılaştığınız bağlantı hatalarını veya diğer zorlukları bilmeniz gerekir. Bu soruların mevcut cevaplarını ilgili kütüphanenin tartışma panolarında bulabilirsiniz. Bu sorular "bağlantı sorunları", "pencereler" ve "görsel C ++" ile etiketlenir.
Bu konuda bir başlangıç-uzman kılavuzu mümkündür, ancak projeye özgü olacaktır. Farklı projeler tarafından seçilen farklı tercihler, rehberin tamamen yeniden yazılmasını gerektirecektir.