2011-12-20 23 views
10

Durum:VS2010: Bağlantı tek kütüphanede statik

VS2010 ile bir kütüphane inşa ediyorum ve bu LibraryA bir bağımlılığı vardır. Sadece LibraryA'nın sunduğu birçok özellikten birini kullanıyorum, bu yüzden onu statik olarak bağlamak istiyorum.

Bu konuda okuduğum her şey, tüm projeyi, yapmak istemediğim bir şey olan MFC'ye karşı statik olarak bağlantı kuracak şekilde ayarlamamı söyler. Kütüphanelerimin dinamik olarak windows DLL'lerine bağlanmasını sağladım; Sadece LibraryA'ya yalnızca statik olarak bağlanmak istiyorum.

Seçenekler pencereleri ile dalga geçmek, böyle bir seçenek görmüyorum. Gerçekten mi yoksa hiçbir şey mi?

sayesinde -Ben

+0

"MVC'ye karşı statik bağlantı" yorumlaması zordur. CRT'yi mi kastediyorsun? Sadece/MD vs/MT seçeneği önemlidir. Windows DLL'leri bir sorun değildir ve her zaman dinamik olarak bağlantılıdır, başka seçenek yoktur. –

+0

Kitaplık A bir dll (lib-link ile) veya sadece bir lib olarak gelir mi? Bazı 3. taraf kitaplıkları her ikisi de gelir, böylece bağlantı kurmak istediğiniz yolu seçebilirsiniz. Kitaplığınız/kodunuz varsa, onu nasıl oluşturup bağlayacağınızı seçebilirsiniz. –

+0

@HansPassant - Benim hatam (MFC'ydi). Http://stackoverflow.com/questions/3230/how-do-you-pack-a-visual-studio-c-project-for-release adresine bakın. Benim durumuma yakın ama aynı değil. – Ben

cevap

27

benim kendi soru cevaplama:

statik VS bir kütüphane bağlamak için yapmanız gereken tek şey:

1) için .lib dosya ekleme özelliklerde bulunan liste -> bağlayıcı -> giriş: Ek Bağımlılıklar.

2) .lib dosyasının bulunduğu dizini -> linker -> genel: Ek Kitaplık Dizinleri dizinine ekleyin.

.lib dosyası statik olarak bağlantılı bir kütüphane ise, o zaman yapmanız gereken tek şey budur.

Kafamın karışmamasının temel nedeni, bir .lib dosyasının bir dll ile birlikte bir yardımcı dosya olabileceği ve statik bir kütüphanenin kendisinin de bulunamayacağıydı.

+6

Sen aptal değilsin, sen (muhtemelen) insansın. Her iki projeyi aynı anda (yani aynı çözümde) oluşturuyorsanız, bir projeyi diğerine bağımlı olacak şekilde ayarlayabileceğinizi ve Visual Studio'nun "Ek'e açıkça eklemeden" otomatik olarak kitaplığı içe aktaracağını unutmayın. Bağımlılıklar". – adelphus

+2

Bir aptal değil ... Bu cevabı yazdığın için teşekkürler, buna ihtiyacım vardı. –

+0

Bu gönderi de bana yardımcı oldu: http://stackoverflow.com/questions/6402586/know-if-lib-is-static-or-import – meawoppl

İlgili konular