Güncel projeme bağlanması gereken bir librdma.a'ya sahibim. Ben librdma.a üzerinde nm çalıştırdığınızda, bu ne alıyorum: - bu işlevi anlamınaDış kütüphaneyi projeye bağlama hala tanımlanmamış referans verir
0000000000000000 T set_attribute
kodunda mevcuttur. Bu yaratır
noinst_LTLIBRARIES= libsrc.la
libsrc_la_SOURCES= One.cpp \
Two.cpp \
libsrc_la_CPPFLAGS = -I$(top_srcdir)/inc -I$(rdma_dir)/include
libsrc_la_LIBADD = -L$(rdma_dir)/lib -lrdma
-:
Şimdi bu Makefile.am benim şimdiki projeye bu .bir dosyayı bağlamak ve kullanma bunun için bir .a dosyasını oluşturmaya çalıştığınızda teknik olarak, kullanmaya çalıştığım işlev olan set_attribute() tanımına sahip bir libsrc.a dosyası. Ancak bu arşiv dosyasında bir nm çalıştırdığımda, tanımsız bir başvuru alıyorum. Ben çalıştığınızda tam proje yapmak Ayrıca
U _Z8set_attributePP5attrlPcS2_
, sırayla bu libsrc.a dosyası kullanır, hiç böyle bir hata alıyorum: - Eğer karıştırma gibi
../libfinal/.libs/libfinal.so: undefined reference to `set_attribute()'
'U _Z8set_attrPP5attrlPcS2_' - set_attribute içermiyor, ancak 'set_attr 'neyin neyi tanımlandığını ve gerçekten ne aradığını kontrol edin – oklas
Benim hatam, bu yalnızca işlevin adını değiştirmedeki hatamdı. Yayın düzenlendi. –