問題タブ [undefined-reference]
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 - 関数 `_start' 内: init.c:(.text+0x30): `main' への未定義の参照
約 30 個のソース ファイル (.c) を含む C プロジェクトに取り組んでいます。このプロジェクトは、GNU ツールを使用して Ubuntu で実行されている 32 ビット マイクロコントローラー (i.MX515) で構築しています。
コンパイル フェーズは正常に完了しますが、リンク プロセスが開始されると、次のエラーが表示されます(質問の最後にある完全なエラーの場合)。
私はmain()
単純な機能を持っていますprintf()
。
リンク用の Makefile 行は次のようになります。
ヘルプ!!!
よろしく
ヴィクラム
完全なリンク エラー
c - ああ、別の未定義参照の質問ではありません!
残念ながらそうです。
共有ライブラリをコンパイルしましたが、リンカーはそれが見つからないことについて不平を言いませんが、未定義の参照エラーが発生します。私が何か間違ったことをしているかもしれないと考えて、少し調査を行ったところ、この素晴らしく簡単なチュートリアルを見つけました。
http://www.adp-gmbh.ch/cpp/gcc/create_lib.html
私は手紙に従ったが、それでも私は得る:
これは非常に単純なことですが、何が問題なのですか?! チェック/微調整が必要な設定はありますか?
GCC 4.3.2 Fedora 10 64 ビット
c++ - C ++でコンパイルされたCコード:未定義の参照
GCCとICCで問題なくコンパイルできる小さなプログラムがありますが、コードをG++とICPCでも動作させたいと思います。私はこれを追加しようとしました:
最初とこれ:
すべてのヘッダーファイルの最後にありますが、それでも「...」への「未定義の参照」エラーがいくつか発生します。
c - ヘッダーファイルを使用すると、未定義のシンボルエラーが発生します
私は次のエラーを受け取り、私が間違っていることを一生理解することができません。
main.c:
wtf.h:
wtf.c:
ここで、署名だけでなく関数全体をヘッダーファイルにインクルードすると、正常に準拠するため、wtf.hがインクルードされていることがわかります。コンパイラがwtf.cを認識しないのはなぜですか?それとも私は何かが足りないのですか?
よろしく。
stl - C++ テンプレート関数のインスタンス化
「未定義参照」エラーに関するいくつかの問題に直面しています。コードを投稿できない場合がありますが、宣言と関数の呼び出し方法は次のとおりです。
宣言:
上記の関数を次のように呼び出しています。
上記のステートメント (関数を呼び出している場所) は、エラーとしてフラグが立てられます。これらはメッセージです:
`int is_voiced(std::deque >&, int, int, double, int, short&, long) への未定義参照
`int pitch_detect(std::deque >&, int, int)' への未定義の参照
上記のエラーを解読するための助けは大歓迎です。ありがとう、スリラム
編集: 上記の関数は、別のヘッダーと対応する C++ ファイルで定義されています。それらをコンパイルしてオブジェクトファイルを作成しようとしても問題はありません。これらのエラーは、リンカー ステージで見られます。
c - リンク時間「未定義の参照」エラー
makefileを書くのに苦労しています。変数の使用経験がありextern
ます。makefileを使用せずにプロジェクトをビルドすると、エラーはまったく発生せず、プログラムを実行できます。しかし、プロジェクトをビルドするためにmakefileを作成したときから、undefined reference to
エラーが発生しています。
私は3つ以上のファイルを持っていますが、簡単にするために、ここでは3つのファイルを使用してセットアップを説明します。
makefileを使用するundefined reference to
と、File1.cとFile2.cを指すリンク時間中にエラーが発生しますか?
日食がそれ自体で修正する間違い(makefileが使用されていない場合)と、makefileを使用するときに表面化する間違いはありますか?
私の最終的なmakefileは次のようになります-
OBJ1=アルゴリズム/main.oアルゴリズム/File1.oアルゴリズム/File2.o
c - 静的ライブラリに対してリンクするときに未定義の参照を取得する
GCC で静的ライブラリを作成しました。ライブラリの構築はOKでした。
私がそれを使用すると、リンカーは一部の関数で未定義の参照エラーをスローします。ただしnm
、関数は静的ライブラリ (T でマーク) で定義およびエクスポートされます。ライブラリを必要とするモジュールの後にライブラリを配置する必要があるリンク順序については知っているので、これは問題になりません。
スタティック ライブラリは、3 つの C ファイルから構築されました。Ac Bc と Dc D モジュールは A と B に依存します (それらのヘッダーを含みます)。
A と B の関数を使用する場合は問題ありませんが、DI の関数を使用しようとすると、未定義の参照エラーが発生します。
これらの機能を A または B に移動すると機能します。しかし、それらが D モジュールにある場合はそうではありません。
何が起こっているのか、何が見落とされているのか、完全に考えが尽きてしまいました。
私は Code::Blocks を使用しており、プレーンな C ファイルで作業しています。
c++ - .cpp ファイルが処理されないのはなぜですか?
ゲーム ソースをコンパイル (作成) しようとしていますが、すべての gRace クラス メソッドに対して未定義の参照エラーが返され続けるため、gRace.cpp ファイルが除外されているか何かのようです。
次の方法で、両方のファイルに gRace.h ファイルを含めています。
処理されない原因についてのアイデアはありますか?
makefile - リンクステップ中にMakefileでSDCCを使用する際の問題
スモールデバイスCコンパイラ(SDCC)は、リンクステップ中に未定義の参照エラーが発生した場合でも、ihx(Intel Hex)ファイルを生成します。この動作により、MakefileでSDCCを使用するときに問題が発生します。これは、ihxファイルをmakeターゲットに設定した場合、makeには、以前のリンクの試みが失敗したことを知る良い方法がないためです。
リンク中に未定義の参照がある場合にihx出力を抑制するようにSDCCに指示する方法はありますか?そうでない場合、最善の回避策は何ですか?(私はすでに1つを考えました)。
また、誰かが知っているなら、なぜSDCCがこのように設計されたのか興味があります。
問題の例を次に示します。
未定義の関数を呼び出すtest.cというファイルがあります。
test.cからtest.ihxを構築するための単純なMakefileがあります。
test.cを初めてコンパイルしようとすると、失敗します。
ihxの依存関係ではないもの(Makefileなど)を変更して問題を修正し、再度コンパイルしてみてください。
ただし、SDCCはすでにihxファイルを作成しているため、makeはコンパイルを試みません。
c - gcc は MySQL C ライブラリをコンパイルおよび実行しません
~$ gcc -o mysql-test MySQL-Test.c
端末からこのテスト プログラムを実行しようとしていますが、次のエラー メッセージが表示されます。
/tmp/cceEmI0I.o: 関数main': MySQL-Test.c:(.text+0xa): undefined reference to
mysql_get_client_info' 内
なにが問題ですか?私のシステムはubuntuです