2011-10-18 10 views
0

私はSolaris上で64ビットのCアプリケーションのコンパイルに使用していますが、私はAIX上で同じアプリケーションをコンパイルを見たときに、今、私はどちらかのために私が対応する場所を見つけることができる場所へと頭を悩まよ:AIXでは/ usr/lib/64はありませんか?

    /usr/lib/64

だから私のコンパイル(いないリンク)typicalliy /usr/sfw/lib/64

  • はSolaric SPARC上で、次のようなものになるだろう。私は、AIX 6.1に取り組んでいる

    のSolaris SPARC 8用です

    gcc -m64 -R/usr/lib/64 -Wall -g -c -I./include -fPIC ./test.c -o ./test.o 
    

    。 ...

    これはAIXでどのように動作するのですか?

  • +0

    最新のAIXには32ビットのライブラリがありますか? 'a.out'がHello Worldのバイナリであるとき、' file a.out'はあなたに何を伝えますか? –

    +0

    さらにもう1つ、ELFCLASS64であるかどうかは、AIX上の共有ライブラリであると言えますか?意味は、/ usr/libに次のように実行した場合: "file libtalloc.so" ---> "libtalloc.so:実行可能ファイル(RISC System/6000)またはオブジェクトモジュールが取り除かれていない"を返します。 ELFCLASS64などに関して実際にはどういう意味ですか? 64ビットだと思いますか? –

    +0

    こんにちはlarsmans、コメントをいただきありがとうございます...実際には、AIX上のGCCには "-maix64"のオプションがありますが、その上に64ビットと32ビットの両方のアプリケーションを持つことができます。私はlibgccがインストールされるのを待っているし、 "ファイルa.out"を試してみる... thnx ;-) –

    答えて

    1

    の操作を行います。

    AR -X 32_64 /lib/libc.a

    と-X 32_64せずに出力詩に気づきます。各ライブラリには32ビットと64ビットの両方のオブジェクトがあります。このツールでは、32ビットのオブジェクトが必要だと想定していますが、環境変数またはコマンドラインオプションのいずれかでそのデフォルトを変更できます。

    関連する問題