問題タブ [unix-ar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - OS X Yosemite 10.10.1 で GnuPG-2.1.1 をコンパイルしようとしています
最新の GnuPG (2.1.1 modern ) をビルドしようとしているときに、リンクしようとするとビルドが失敗しますt-stringhelp
。make
出力:
ソースの一部であるため、これを修正する方法がわからないlibcommon
ため、正常にビルドされるはずです。CFLAGS="-m64"
(-arch x86_64
何もしない) でビルドすると、次のようになります。
pinentry
また、インストールされているものが見つからないため、を除いて、すべての依存関係を再構築しました(Mavericksで構築したため)libiconv
。私のconfigure
出力はそのターゲットがDarwin (x86_64-apple-darwin14.0.0)
であるため、これは機能するはずです。また、すべての最新の前提条件を取得し、すべてを独自のディレクトリ (--prefix=/usr/local/gnupg-2.1.1) にインストールしようとし、すべての依存関係と GnuPG を 32 ビットとしてビルドします (再び、同じエラーで失敗します)。 )、別のビルドフォルダーを作成してそこにビルドしようとしましたが、これまでのところエラーを解決できたのは1つだけです.ビルド方法を見てくださいlibgpgrl.a
-それは唯一のコンポーネントですcommon/gpgrlhelp.c
-だから私はcd
'edg10
でビルドしようとしましたgpg2
、 に置き換え../common/libgpgrl.a
て../common/gpgrlhelp.o
、のlib common.a
機能しなかったすべてのライブラリのすべてのオブジェクト ファイルを含む。次に、いくつかのプログラムがlibksba
libgcrypt
とlibassuan
にリンクしていなかったので、リンクできるように Makefile を変更しました。すべてのコードを適切にコンパイルできるようになりました。すべてをインストールしましたが、実行しようとすると新しいエラーが発生しますgpg2
。
私は自分のパスにすべてを持っています。
Mavericks で GnuPG-2.0.22 をコンパイルできましたが、Yosemite でビルドされる GnuPG のバージョンはありません。
助けてください、私は本当に混乱しています。
aix - CC の文書化されていないフラグ
新しいバージョンの Informix-4GL を使用してファイルをコンパイルすると、次のコマンドが起動され、生成されたオブジェクトが実行可能ファイルにリンクされます。
teste
未定義のシンボルがあるとエラーになりますが、実行権限はありませんがファイルを生成します。この動作は以前のバージョンとは異なり、make とはうまくいきません。make を 2 回実行すると、1 回目は undef エラーが発生しますが、2 回目は実行可能ファイルが既に存在するため、何もしません。
オプションを外す-bh:8
と、以前と同じように機能します (exec ファイルを生成しません)。
このオプション/フラグを知っている人はいます-bh:8
か? cc のドキュメントでは見つかりませんでした。
c - C スタティック ライブラリは librt とリンクできません
静的ライブラリを作成する必要があり (動的ライブラリを作成するオプションではありません)、この静的ライブラリにはtimer_create
fromなどを使用する関数がありますtime.h
。
somelib.h:
somelib.c:
コードは実際には無意味であり、次のような私の問題を説明するために librt にリンクする必要があります。
somelib.c をコンパイルした後:
静的ライブラリを作成します。
それに対してリンクすると、次のエラーが発生します。
戻り値:
これは私の問題の最小限の例です。これを修正できるかどうかはわかりませんが、私の理解では、静的ライブラリは作成時にlibrtの場所を知る必要があり、動的であるため、静的ライブラリにリンクしないと不可能であるということでした。 librt のバージョン。それでも私は静的ライブラリをあまり使用しないので、このようなことを行う方法があるかどうか知りたい.
コンパイラのバージョン: gcc 4.8.1 他のフラグは設定されていません。
c - 私が書いたライブラリを pthread ライブラリにリンクする
これは実際には割り当ての一部です。基本的に、ライブラリを作成する必要があります。このライブラリは、教授が作成したテスト プログラムにリンクされます。次のようになります。
問題は、libexample が POSIX セマフォを使用しているため、最終的な実行可能ファイルを生成するときに pthread ライブラリとリンクする必要があることです。テスト プログラムのコンパイル方法を変更せずに、pthread ライブラリを libexample.a でパッケージ化する方法はありますか?
ありがとう!
haskell - Cabal が詳細な 0.9 テスト スイートのビルドに失敗する
単一のテスト スイートでパッケージをビルドしようとしています。
何が起こるかは次のとおりです。
Haskell Platform 2014.2.0.0 で Windows 8.1 64 ビットを使用しています。MSYS をインストールしましたが、パス上の MinGW は GHC だけです。また、すべての git バイナリはパス上で MSYS と MinGW の後にあるため、競合しません。アドバイスをいただければ幸いです。
更新: を使用すると、ビルド テストが正常に機能するようtype: exitcode-stdio-1.0
です。
c - What does the "rcs" option in ar do?
I did read the man file but it does not help. rcs
seems to be the most popular option to pass to ar, but the meaning isn't so clear to me.
So c
means to create a new archive, but then why use r
? which seems to stand for "replace"? What will the s
option do to the output?
c++ - C/C++ アーカイブ (.a) 内の関数を表示する方法はありますか?
(簡略化して) 次のような状況があります。
test()
に存在するsource.c
source.c
にコンパイルしますobject.o
object.o
アーカイブにリンクされますarchive.a
archive.a
最終的にコンパイルされますbinary
の名前を別のものに変更しようとしtest()
ています。ただし、(4) のリンク手順では、新しいメソッド シグネチャが存在しないと述べています。を使用gobjdump
すると、名前が変更された新しいメソッドが存在することが確実にわかりますobject.o
(他のメソッドと同じ SECT にあり、UND ではありません)。
object.o
が に存在することは確かですarchive.a
。archive.a
ただし、(ビルド システムが複雑なため)メソッドが含まれているかどうかは定かではありません。
TL;DR: アーカイブ ファイルの中を見て、その中の特定のバイナリ オブジェクトの機能を一覧表示する方法はありますか?
file - Redirect output to 'file' command
Is there any way to have the file
command get it's input from stdin
? Specifically, I am trying to get the file type of a file in an archive, and am trying to do it in a single command. I tried this:
but that does not work.