web-gelistirme-sc.com

eclipse-cdt statik kütüphaneye nasıl bağlanır

Kafam karıştıysa, kütüphaneleri Bağlayıcı/Kütüphaneler altında mı ayarlamalıyım yoksa bunları "yol ve sembol" altına ayarlamalı mıyım? Bence onlar aynı. doğrumuyum?

sorum için herhangi bir şekilde - statik kütüphane bağlamak gerekir, bu yüzden birkaç şey denedim:

İlk deneme Bağlantı kütüphanesinde gtest (bu kütüphanedir) ve gtest yolunu eklemeye çalışıyorum. bu şekilde derlenmiş ve bağlanmış doğru, ancak çalışma zamanında başarısız oldu, çünkü paylaşılan kitaplığı yüklemeye çalıştığında ( statik kitaplık istiyorum! ) hatası:

kütüphaneleri yüklerken hata oluştu: libgtest.so.0

İkinci deneme - Onu yolda tanımlamaya çalışıyorum ve kitaplıklara '/root/workspace/gmock/gtest/lib/.lib/libgtest.a' yolunu ekleyeceğim. Bu durumda bağlantıda hata var:

g++ -L/root/workspace/gmock/lib/.libs -L/root/workspace/gmock/gtest/lib/.libs -o "playground"  ./src/p.o ./src/playground.o   -lpthread -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a -l/root/workspace/gmock/lib/.lib/libgmock.a
/usr/bin/ld: cannot find -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a

Bu post dosnt bir cevap verir ve paylaşılan statik vs ile nasıl farklı bir şekilde tanımladığınızı açıklamaz.

Teşekkür ederim

13
Avihai Marchiano

Çok fazla araştırma yapıldıktan sonra ilgili cevap yok. buldum !!! İçinde buldum Eclipse-cdt için bu faydalı bağlantı

Anlaşılan kütüphanenin çalışma alanında bulunması gerekiyor.

17
Avihai Marchiano

Kütüphane yolunu/dosyasını şuraya ekle: Özellikler - C/C++ Oluştur - Ayarlar - GCC C++ Linker - Çeşitli - Diğer nesneler

3
user1166007

Botan şifreleme kütüphanesini statik bir kütüphane olarak kurguladım, buraya gelmek istemediğim sebeplerden dolayı, interweb'lerdeki tüm adımları takip ettiğimde kütüphane yollarını ekle ve kütüphane ismini "lib" ve "olmadan" belirle a ", projem gayet iyi inşa edildi, ancak çalıştırdığımda" program beklenmedik şekilde sonlandırıldı "(veya benzeri) hatalar almaya devam ettim. Sonunda nasıl düzeltileceğini öğrendim. Menü çubuğunda, Proje> Özellikler> C/C++ Yapı> Ayarlar> Çapraz G ++ Bağlayıcı'ya gidin ve -static ve ${COMMAND} arasına ${FLAGS} ekleyin, böylece tüm satır şöyle görünür:

${COMMAND} -static ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}

Seninki değişebilir. Eclipse Luna Service Release 2 (4.4.2) kullanıyorum, mingw-w64 ile birlikte mingw-wins, Windows 8.1'de w/gcc 4.9.2.

1
Raging Software