問題タブ [ld]

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.

0 投票する
1 に答える
1094 参照

c - 自分の OS に NewLib を移植する: いくつかの質問

私は自分の OS に NewLib を移植しようとしています (私はこのチュートリアルに従っています: http://wiki.osdev.org/Porting_Newlib )、いくつか質問があります。

  • LibGloss が完了してコンパイルされたら、作成された libnosys.a を正確にいつ使用する必要がありますか? main.c をコンパイルするのはいつですか?

    /li>
  • 私の crt0.c が完了しました。そして、「最初のオブジェクトとしてリンク」する必要があります。どうやってやるの?このようなものですか?

    /li>

回答ありがとうございます。

0 投票する
0 に答える
2437 参照

android - 共有ライブラリへのfftw3の静的リンク

私は Android 用のピッチ補正ソフトウェアに取り組んでおり、NDK を使用して Android で fftw3 を動作させたいと考えています。

ピッチ補正ライブラリ (talentedhack、http: //code.google.com/p/talentledhack/) は fftw3 に依存しているため、fftw3 をスタティック ライブラリとしてコンパイルし、それを Talentedhack 共有にリンクしようとしています。図書館。現在、静的ライブラリ libfftw3.a として fftw3 をビルドしていますが、このような未解決の参照エラーが引き続き発生します。

ndk-build を使用して Talenthack 共有ライブラリをコンパイルするとき。ただし、ファイルを正しく取得しているように見えますが、これは不可解です。

Android.mk ファイルの関連部分は次のようになります。

プロジェクトの最上位レベルから ndk-build が呼び出されたときに失敗するコマンドは次のとおりです。

/opt/android-ndk-linux/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc -nostdlib -Wl,-soname,libtalentedhack.so -Wl,-shared,-Bsymbolic /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/circular_buffer.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/fft.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/formant_corrector.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/lfo.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/pitch_detector.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/pitch_shifter.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/pitch_smoother.o /path/to/project/bin/ndk/local/armeabi/objs/talentedhack/quantizer.o /path/to/project/ndk/local/armeabi/objs/talentedhack/talentedhack.o -Wl,--whole-archive -Wl,--no-whole-archive /path/to/project/bin/ndk/local/armeabi/libfftw3.a /opt/android-ndk-linux/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/libgcc.a /opt/android-ndk-linux/build/platforms/android-8/arch-arm/usr/lib/libc.so /opt/android-ndk-linux/build/platforms/android-8/arch-arm/usr/lib/libstdc++.so /opt/android-ndk-linux/build/platforms/android-8/arch-arm/usr/lib/libm.so -Wl,--no-undefined -Wl,-z,noexecstack -L/opt/android-ndk-linux/build/platforms/android-8/arch-arm/usr/lib -llog -Wl,-rpath-link=/opt/android-ndk-linux/build/platforms/android-8/arch-arm/usr/lib -o /path/to/project/bin/ndk/local/armeabi/libtalentedhack.so

システムには実際にはfftwf_executeまたはいくつかの派手なマクロを使用しているため、または静的ライブラリを正しく処理していない Android NDK ビルドシステムの問題である場合、任意のヘッダーで定義された他の関数 (私が知ることができます)。どんな助けでも大歓迎です。

0 投票する
1 に答える
1002 参照

gcc - cross gcc crti.o

powerpc の Cross linuxの手順を最初から実行しましたが、エラーが発生gcc-finalしてステージを通過できません。ldcrti.o: no such file or directory

私のツール チェーンは 2 つのディレクトリに分かれて/opt/builder/tools/opt/builder/cross-toolsます。また、リンク/tools/cross-toolsそれらのディレクトリを作成しました。

試してみたところ、「ライブラリ」セクションに/cross-tools/bin/powerpc-unknown-linux-gcc -print-search-pathディレクトリがありました。/opt/builder/tools/libしかし、gcc はディレクトリ プレフィックスなしでcrt....oオブジェクトの名前を に渡しますld(私はそれを見つけるために strace を使用しました)。

crt....oファイルをディレクトリにコピーしてhello.cコンパイルしたところ、すべて問題なかったので、ファイルは良好です。

アドバイスをいただけますか?

前もって感謝します、

セルゲイ・ナウモフ。

0 投票する
4 に答える
1360 参照

gcc - gccに1つのリンカーを別のリンカーの上に使用するように強制します

ld最近、私はOS Xに取り組んでいます。どういうわけか私のシステムに接続され、現在gccは使用されなくなるまで、物事はしばらくの間かなり桃色になりましたdyld。さらに、私の共有ライブラリはすべて*.dylibフォーマットされており、ldはその存在を頑固に無視しています。からmvldを実行するPATHと、gccはldが見つからないと文句を言います。

gccを軌道に戻し、本来あるべきものを使用するのを手伝ってください。

0 投票する
4 に答える
3762 参照

c++ - リンク時のC++未定義の参照

私はこれで2日間頭をかいていたので、誰かが私を助けてくれるだろうかと思っています。

私はコンパイルを行い、Linuxでソースコードをリンクしようとすると未定義の参照が取得されます

を使用してコンパイルします。

g ++ -g -I / u01 / kasunt / worksheet / corelibCORBA / include -I / u01 / kasunt / worksheet / corelibCORBA / installed_components / include -I / u01 / kasunt / worksheet / corelibCORBA / idl -I / u01 / kasunt / worksheet / corelibCORBA / src / Server -I / u01 / kasunt /ワークスペース/corelibCORBA/installed_components/idl-I/u01/kasunt/workspace/corelibCORBA/installed_components/src/Server-I/u01/kasunt/workspace/corelibCORBA/installed_components/imake- DNARROWPROTO-I。-I / u01 / kasunt / worksheet / corelibCORBA / installed_components / include -W -Wall -Wpointer-arith -pipe -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -g -O -I / u01 / kasunt / worksheet / corelibCORBA / include -g -O -I / u01 / kasunt / worksheet / corelibCORBA / include -fvisibility = hidden -fvisibility-inlines-hidden -DACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS = 1 -W -Wall -Wpointer-arith -ggdb -pipe -Wall -g -D__linux__ -D_ = 0 -DTAO_HAS_VALUETYPE = 1 -D_REENTRANT -DACE_HAS_AIO_CALLS -D_GNU_SOURCE -I / usr / local / ACE + TAO + CIAO-5.7.9 / ACE_wrappers -I / usr / local / ACE + TAO + CIAO-5.7.9 / ACE_wrappers / TAO -I / usr / local / ACE + TAO + CIAO-5.7.9 / ACE_wrappers / TAO / orbsvcs -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -c -o TestSeqWrapper.o TestSeqWrapper.cppcppcpp

を使用してリンクする

g ++ -o TestSeqWrapper TestSeqWrapper.o -g -L / u01 / kasunt / worksheet / corelibCORBA / lib -L ​​/ u01 / kasunt / worksheet / corelibCORBA / installed_components / lib -g -O -Wl、-E -L / usr / local /ACE+TAO+CIAO-5.7.9/ACE_wrappers/lib -L ​​/ usr / local / ACE + TAO + CIAO-5.7.9 / ACE_wrappers / lib -L ​​/ usr / local / ACE + TAO + CIAO-5.7.9 / ACE_wrappers / TAO / tao -L / u01 / kasunt /ワークスペース/corelibCORBA/installed_components/idl-lcorelibCORBA-lcorelibCORBA/u01/kasunt/workspace/corelibCORBA/installed_components/lib/corelibCORBA3r.lib/u01/kasunt/workspace /lib/CorbaController3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/EConcurrency3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/corelibLogger3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components /LeakTracker3r。lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/trace3r.lib -lDefineTimeZone /u01/kasunt/workspace/corelibCORBA/installed_components/lib/timestamp3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/Appl lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/appl3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/logstream3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/disklog3r.lib / u01 / kasunt /ワークスペース/corelibCORBA/installed_components/lib/timeout3r.lib/u01/kasunt/workspace/corelibCORBA/installed_components/lib/getpnam3r.lib/u01/kasunt/workspace/corelibCORBA/installed_components/lib/config3r.lib / u01 / kasunt /ワークスペース/corelibCORBA/installed_components/lib/strl3r.lib/u01/kasunt/workspace/corelibCORBA/installed_components/lib/string3r。lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/command3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/cmdargs3r.lib /u01/kasunt/workspace/corelibCORBA/installed_components/lib/CppUtils3r.lib u01 / kasunt /ワークスペース/corelibCORBA/installed_components/lib/BuildTag3r.lib/u01/kasunt/workspace/corelibCORBA/installed_components/lib/exception3r.lib -lCorbaIdl -lTAO_Valuetype -lTAO_PortableServer -lTAO_IORTable -lTAO_AnyTypeCode -lTAO_CosEvent -lTAO_CosNaming -lTAO -lACE

ライブラリのnmを実行すると、上記のコンストラクターが含まれていることがわかります。

ソースコードの問題のある行(行165)、SeqWrapper():var_(new SequenceType)、size_(0){}

コードの一部、

TestSeqWrapper.cppのソースコード(混乱を少なくするために、不要なもののほとんどを削除しました)

また、リンクオプション(太字で表示)で共有ライブラリを指定したことがわかります。私は当初、何らかの依存関係が原因である可能性があると考え、ライブラリフラグを最初に移動しても影響はありませんでした。

それは有り難いです。

0 投票する
4 に答える
11914 参照

assembly - gccを使用せずにC標準ライブラリを使用するガスアセンブリプログラムをldとリンクするにはどうすればよいですか?

cプログラムがどのように機能するか、およびプログラムがlibcを使用できるようにするために必要な最小レベルのコンテンツをより正確に学習するための演習として、私は主にgasとldを使用してx86アセンブリでプログラミングを試みることにしました。

楽しい小さな挑戦として、私はさまざまな自作のダイナミックライブラリにリンクされたいくつかのプログラムを正常に組み立ててリンクしましたが、gccを直接使用せずにlibc関数呼び出しを使用するようにプログラムを最初からコーディングすることはできませんでした。

個々のcライブラリ関数の呼び出し規約を理解し、objdumpとreadelfを使用してgccからコンパイルされたプログラムを徹底的に検査しましたが、ガスアセンブリファイルに含める情報と呼び出すパラメーターについてはどこにも到達していません。 ldでlibcに正常にリンクします。誰かがこれについて何か洞察を持っていますか?

x86マシンでLinuxを実行しています。

0 投票する
1 に答える
2834 参照

g++ - LD: STL ライブラリとのリンク

OpenCV の VideoCapture の例をコンパイルしようとしていました。コンパイルすると、次の出力が得られます。

(ちなみに、gpp は g++ -lhighgui -lcv -lcxcore のエイリアスです)

そこで、「gpp --enable-auto-import」でコンパイルしてみましたが、g++ はこのオプションを認識しませんでした。ということで、以下のようにコンパイルしてみました。

そして、同じエラーとSTL関数に関する他の多くのエラーがあり、STLとリンクしていないことを示しています:

そして、最後に、次のようにコンパイルすると:

今回は、STL エラーのみを取得しました。VideoCapture エラーがなくなりました。だから私はこの問題を解決したと思います。唯一のことは、自分のプログラムを ld に STL ライブラリとリンクさせるにはどうすればよいかということです??????

前もって感謝します

0 投票する
2 に答える
6882 参照

gcc - gcc/ld-glibc.2.6の__isoc99_sscanf@@GLIBC_2.7シンボルを使用して新しいlibc.soを作成します

アプリケーションを実行しようとするとエラーが発生します。

しかし、glibc2.7から必要な唯一のシンボルは

このシンボルを__sscanf()のエイリアスとして使用して、小さな単一の関数「ライブラリ」を作成したいと思います。

gcc / ldでこれを行うにはどうすればよいですか?

「@@」記号が原因で、私のバリアントは受け入れられません

2番目に私の変種は

ただし、リンカからの「シンボル__isoc99_sscanf@@GLIBC_2.7のバージョンノードが見つかりません」エラーで終了します。

0 投票する
3 に答える
19741 参照

c++ - C++: コンパイル エラー - 「.eh_frame_hdr テーブルは作成されません」

物理実験用のデータ解析プログラムを使用することになっています。私はそれをコンパイルすることはできません。

コードは古く、私が見つけた現在の GCC バージョンと実際には互換性がありません。もう少し時間がかかるようにするために、Mac でコンパイルできるようにすべての makefile を変更した人からコードを入手しました。私は C++ の経験はありませんが、マンページ、Google、および忍耐力により、途中で多くのエラーを修正しましたが、1 週間の試行とグーグルの後でさえ、これに固執しています。

関連するエラーメッセージは次のとおりだと思います。

何が原因で、何が解決策になるのでしょうか?

libCommandLineInterface.so明らかなエラーメッセージなしで、以前に私がコンパイルしました:

私の g++ バージョンはg++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3、amd64 です。

私が言ったように、私は C++ の経験がないので、単純な Makefile の変更が何かを破壊したのかもしれません。また、経験が不足しているため、他にどのような情報が必要なのかよくわかりませんが、喜んで返信します。

0 投票する
1 に答える
3719 参照

oracle - gcc、64 ビット、オラクル、ソラリス

ldここで正しく機能しない理由を誰か教えてください

(この長いコマンドはconfigure、このエラーのために正しく実行されていません)

UPD

blabla.c:_