2010-09-14 38 views
11

MinGW ile Kod Blokları kullanıyorum ve statik bağlantı ile derlemek için basit bir program almaya çalışıyorum. Boost kitaplıklarını these directions kullanarak oluşturdum. Her şey yolunda gitti ve bu basit programı başarılı bir şekilde derleyebildim (derler, mesajın konsola gönderilmesinden önce çıktığı için işe yaramadığını biliyorum, ama sadece derlemeyi istiyorum).Kod Blokları, MinGW, Yükseltme ve statik bağlama sorunları

Bağdaştırıcı kitaplığımda bir DLL varsa, iyi derler, ancak aynı içeriğe ait statik .a kitaplıklarıyla değiştirdiğimde, "_imp ___ ZN5boost6threadD1Ev '|" tanımsız başvurusu gibi tanımlanmamış referanslar alırım.

Sorunun ne olduğu ve çözümü bulamadığı konusunda hiçbir fikrim yok. Linker ayarları ile ilgisi olabileceğini düşünüyorum ama bunları nasıl değiştireceğime dair bilgi bulamıyorum. Sağlanabilecek herhangi bir yardım için son derece minnettar olurdum.

cevap

10

Başlıklar dinamik bir bağlantı için yapılandırıldığında statik olarak bağlanmaya çalışmaktan kaynaklanmaktadır. Bunu libssh için this question'da açıklarım. boost/thread/detail/config.hpp'da dolaşmak, #define BOOST_THREAD_USE_LIB'u düşünmenizi veya -D bayrağını kullanmamı sağlar.