私はビルド中のライブラリを持っています。 私のMakefileのar rcs lib/libryftts.a $^
GCCは実行可能なバイナリの代わりに共有オブジェクトを作成します
gcc -shared $^ -o lib/libryftts.so
:私はのいずれかを実行したときに、私のオブジェクトのすべてが連続してコンパイルとリンク。私も正常にインストールすることができます/usr/local/lib
私はnmでファイルをテストすると、すべての機能があります。
test: ELF 64-bit LSB shared object
代わりのtest: ELF 64-bit LSB executable
私が期待するよう: 私の問題は、私はgcc testing/test.c -lryftts -o test && file ./test
またはgcc testing/test.c lib/libryftts.a -o test && file ./test
を実行すると、それは言うことです。私は間違って何をしていますか?
'main'を含む' test.c'はありますか? @EugeneSh。 –
はい、それはメインを含んでいます。 –
奇妙な音。しかし、おそらく問題を診断するためにもっと多くの情報が必要です。最小のテストケースを作成し、問題を引き起こすために使用された正確なコードとビルドコマンドを投稿することをお勧めします。また、最後のコンパイル行を 'gcc -v'で実行して、gccが実際にどのようなコマンドとオプションを使用しているのかを正確に確認することもできます。 – kaylum