現在のプロジェクトにリンクする必要があるlibrdma.aがあります。私はlibrdma.aにnmのを実行すると、これは私が得るものです: -外部ライブラリをプロジェクトにリンクしても未定義の参照が返される
0000000000000000 T set_attribute
機能はコード内で利用可能であることを意味しています。今
私はこのMakefile.am使用して、私の現在のプロジェクトにこの .Aファイルをリンクし、そのための .Aファイルを作成しよう: - これは作成
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
をlibsrc.aファイルは、技術的にset_attribute()の定義が必要です。これは、私が使用しようとしている関数です。しかし、このアーカイブファイルでnmを実行すると、私は定義されていない参照を取得します。また
U _Z8set_attributePP5attrlPcS2_
、私はにしようと順番にこのlibsrc.aファイルを使用して、私はこれらのようなエラーが出ていること、完全なプロジェクトを行います - あなたが混合されているよう
../libfinal/.libs/libfinal.so: undefined reference to `set_attribute()'
'U_Z8set_attrPP5attrlPcS2_'はset_attributeを含んでいませんが、 'set_attr'を含んでいます。何が定義されているか、実際に何が呼び出されているかを確認してください。 – oklas
私の悪いです。投稿が編集されました。 –