問題タブ [fpic]
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.
c++ - -fPICで再コンパイルする方法
このガイドに従って、ARMUbuntuマシンにffmpegを再インストールしようとしました。残念ながら、このlibを使用するプログラムをコンパイルすると、次のエラーが発生します。
-fPIC
コンパイラが提案しているように再コンパイルしたいのですが、どうすればいいのかわかりません。どんな助けでも大歓迎です。
32bit-64bit - PIC コンパイル - エラー: 共有オブジェクトを作成する場合、'vtable for hit' に対する再配置 R_X86_64_32S は使用できません。-fPIC で再コンパイル
私は Linux の初心者で、32 ビット マシンで正常に動作するメイク ファイルのコンパイルに問題があります。私はこのプログラムを書きませんでしたが、その機能を使用するには動作する必要があります。私のマシンは 64 ビットですが、次のエラー メッセージが表示されます。
このWebサイトを使用して問題を解決しようとしていますが、プログラムが機能しません... http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml? part=1&chap=3 私はメイクファイルに慣れていないので、共有ライブラリを PIC コンパイルするためにメイクファイルを適切に変更することができません。フラグ「export CXXFLAGS=$CXXFLAGS -fPIC」をグローバルに追加しましたが、機能しませんでした。私は完全に迷っています。
make ファイルは次のとおりです (2 つの make ファイルとそれらを呼び出す 1 つ)。
----------------------------------------------2 -------- ------------
----------------------3-------------------------
誰かが私を助けてくれることを願っています。前もって感謝します!!ダニエル
linux - 共有ライブラリのバイナリが -fPIC オプションでビルドされているかどうかを知る方法
私は組み込み Linux 環境に取り組んでいます。バイナリ形式の共有ライブラリのセットがあり (ソース コードと Makefile はありません)、それらが -fPIC オプションでコンパイルされているかどうかを確認したいと考えています。共有ライブラリ バイナリが -fPIC コンパイルされているかどうかをテストするツールまたはアプローチはありますか?
よろしく。
makefile - Giza++ のインストール、FORTRAN の問題
Ubuntu 12.10 64 ビットに Giza++ と Moses をインストールしようとしています。私は同じ問題を抱え続けています:
................................................
グーグルはあまり役に立ちませんでした。この問題を解決する方法のヒントをいただければ幸いです。-fPIC で再コンパイルするにはどうすればよいですか?
c++ - -fPIC を使用してコンパイルしたにもかかわらず、リンカ エラー「未定義のシンボルに対する R_X86_64_PC32 の再配置」
コマンドラインを使用して C++ プログラムをコンパイルしています
次に、共有オブジェクトを作成しようとします
これは常に機能しています。しかし、今日私は得る:
シンボルは
( _ZTVN12_GLOBAL__N_111handle_baseE
prog.cc
の無名名前空間で定義されたポリモーフィック クラスであり、はい、私は を呼び出します。)vtable for (anonymous namespace)::handle_base
handle_base
dynamic_cast<handle_base>()
私は gcc バージョン 4.7.0 (GCC) と GNU ld (GNU Binutils; openSUSE 11.1) 2.19 を使用しています。誰か助けてくれますか ([共有オブジェクトやdynamic cast
] なしで行う以外の解決策を提案してください)?
makefile - 「-fPIC で再コンパイル」というエラーが表示される
centos で ./configure アスタリスクを入力した後、make コマンドを入力しますが、次のエラーが表示されます
/usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): `luaO_nilobject_' に対する再配置 R_X86_64_32 は、共有オブジェクトを作成するときに使用できません。-fPIC で再コンパイル /usr/local/lib/liblua.a: シンボルを読み取れませんでした: 値が正しくありません
c++ - 静的 (.a) ライブラリを共有 (.so) ライブラリとリンクすると、「ローカル シンボルに対して R_X86_64_32S を再配置します。-fPIC で再コンパイルします」というエラーが表示されます。
Eclipse を使用して redhat で g++ 64 ビットでコンパイルします。
コンパイル エラー: ../lib-EL5-64bit/libskd3_clnt_30134500.a(skd_clnt.o): 共有オブジェクトを作成する場合、「ローカル シンボル」に対する再配置 R_X86_64_32S は使用できません。-fPIC で再コンパイル
私が試したこと -fPIC を c++ コンパイラ フラグとリンカー フラグの両方に追加しました。コンパイラフラグに既に存在していましたが、g ++の直後とリストの最後に移動しました。
.a ライブラリの作成者に -fPIC で再コンパイルするように依頼しましたが、それでも同じエラーが発生します
ライブラリが -fPIC でコンパイルされていることを確認する方法はありますか? エラー メッセージは、.so を -fPIC でコンパイルする必要があることを示していますか、それとも .a ファイルを -fPIC でコンパイルする必要がありますか? 他に何が確認できますか?
これがmakeファイルです(Eclipseによって自動生成されます)
メイクファイル:
subdir.mk
オブジェクト.mk
ソース.mk
static - -fpic および -msingle-pic-base を使用する場合のアームの静的変数
オプション -fpic および -msingle-pic-base を指定して arm cortex-m3 用にコンパイルすると、グローバル オフセット テーブルが作成されます。ただし、静的変数 (グローバルまたはローカル) はグローバル オフセット テーブルに含まれず、絶対アドレスを持ちます。これはバグなのか機能なのか、それとも追加のオプションがないのでしょうか?