0

一連の静的ライブラリを共有オブジェクトにコンパイルしたいと思います。これまでのところ、

g++ -Wl -shared -fPIC -o myshared.so objs/*.o

上記の objs/*.o には、ar を使用してさまざまな静的ライブラリから抽出されたすべてのオブジェクト ファイルが含まれています。

更新: 基本的に、.a ファイルを抽出せずにコマンド ラインで直接使用できるかどうか疑問に思っています。

4

2 に答える 2

2

これは実際には 2 ステップのプロセスです。

ar -x mylib.a
gcc -shared *.o -o mylib.so
于 2012-03-16T17:38:31.840 に答える
0

使用できない理由gcc -shared -o foo.so foo.aは、アーカイブのオブジェクト ファイルが未定義のシンボルを解決するためにのみ使用されるという点で、アーカイブの扱いが異なるためです。以前の .o ファイルを指定していないため、未定義のシンボルはありません。

于 2012-03-16T19:35:32.330 に答える