問題タブ [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 - `sin`への未定義の参照
私は次のコードを持っています(この質問の基本的な部分にまで絞り込みました):
でコンパイルするとgcc test.c
、次のエラーが発生しますが、その理由を理解できません。
sin
ただし、関数内から呼び出すさまざまなテストプログラムを作成しましたがmain
、それらは完全に機能します。私はここで明らかに間違ったことをしているに違いありませんが、それは何ですか?
c++ - Windows で OpenCL プログラムをビルドできない
Linux で単純な「何もしない」OpenCL アプリケーション (C++ で C API を使用) を作成して、OpenCL の速度に関するデータを取得しました。正常にコンパイルされ、エラーなしで実行されます。OpenCL をサポートするグラフィックス カードを持っていませんが、GPU でテストする必要があります。NVIDIA の CUDA Toolkit で提供される OpenCL 実装を使用して、友人の Windows 7 64 ビット コンピューターでアプリケーションを構築しようとしています。
CUDA\x64 の OpenCL.lib ファイルにリンクしようとすると、プログラム内の各 OpenCL 呼び出しに対して未定義の参照が取得されます (標準 C API を使用)。system32 ディレクトリの OpenCL.dll にリンクすると、同じことが起こります。CUDA ツールキットに付属の win32 ライブラリにリンクすると、エラーは発生しませんが、OpenCL はプラットフォームを取得できません。リンク時に取得するすべての未定義の参照には、シンボル名の末尾に @20 または @46 または乱数があります。この問題を解決する方法を知るには、Windows 開発に精通していません。私の問題は何ですか?
初心者向けで申し訳ありません。回答ありがとうございます。
android - JNIを使用して共有ライブラリにアクセスするときの「未定義の参照」
JNIを使用してBotan(暗号化アルゴリズムのライブラリ)のバージョンを構築し、 AndroidでいくつかのネイティブC++プログラムを実行しようとしています。
NDKツールチェーン(NDK R5b)を使用して、エラーなしでlibbotan.soを作成できました。しかし、Androidプロジェクト(例)からソースファイル(exampleError.cpp)をコンパイルすると、次のエラーが発生します。
これが私のexampletError.cppです:
対応するJavaクラスcreateError.javaは次のとおりです。privatenativevoidsimpleTestCall();
ここでAndroid.mkを見ることができます:
最後になりましたが、Application.mkは次のとおりです。
注:JNIフォルダーの構造は次のとおりです。Android.mkApplication.mk botan / botan_all.h sources / botan_all.cpp exampleError.cpp
また、libbotan.soの内容も確認しました。これは次のとおりです。
しかし、この出力にエラーが見られるかどうかはわかりません。その上、私はこのエラーをオンラインで検索しました。たとえば、ここです。残念ながら、まだ問題を解決できていません。
だから私の質問は次のようになります:私は何を間違っているのですか?
c - sqrt (または他の数学関数) への未定義の参照
私はこの簡単なコードを持っています:
ヘッダーには次のものがあります。
しかし、アプリケーションはまだ未定義の への参照を言っていますsqrt
。ここに問題はありますか?すべてがうまくいくはずです。
ios - スタティック ライブラリの外部名ディレクトリにシンボルを追加する
otool
特定のスタティック ライブラリによって生成されるシンボル リストとnm
、特定のスタティック ライブラリ用に生成されるシンボル リストの違いに混乱しています。いくつかの静的ライブラリをリンクして最終的な実行可能ファイルを作成しようとしていますが、リンカーはUndefined symbols: "_main", referenced from: _main$non_lazy_ptr in crt1.o
. nm
ライブラリ ( ) の 1 つを実行すると、それが というファイルで定義されているlibext.a
ことがわかります。しかし、同じライブラリで実行すると、アーカイブのセクションに存在しないことがわかります。このセクションに強制的に含まれるようにするにはどうすればよいですか? ライブラリで行うことは役に立ちません。_main
main.o
otool-s
_main
__.SYMDEF
_main
ranlib -c
c++ - 未定義の参照
リンクリストのコードをコンパイルすると、未定義の参照エラーが大量に発生します。コードは以下のとおりです。私はこれらのステートメントの両方をコンパイルしています:
と同様
私はC++のクラスで本当に錆びているので、なぜこれらのエラーが発生するのか本当にわかりません。私は本当にいくつかの助けを使うことができました。
LinearNode.h:
LinearNode.cpp:
LinkedList.h:
LinkedList.cpp:
test.cpp:
c++ - C++: 'FMOD:: X' への未定義の参照
いろいろなサウンド API ライブラリを調べた結果、とりあえず FMOD を使用することにしました。
問題は、コード例の 1 つをコンパイルしようとするたびに、次のエラーが発生することです。
私が使用しているコード例は次のとおりです。
FMOD の最新バージョンを使用しており、Code::Blocks IDE (ver 10.05) と GNU GCC コンパイラを使用しています。プロジェクトのタイプは「コンソール アプリケーション」です。fmodex.dll ファイルは、私のプロジェクトのフォルダーにあります。Windows XP 32 ビット SP3 を使用しています。
ライブラリにリンクlibfmodex.a
し、そこにある他のライブラリにもリンクしようとしましたが、問題は解決しません。
したがって、私の質問は、これらのエラーの発生を止めるために何をする必要があるかということです。他のライブラリを使用する前に、同様の「x への未定義参照」エラーが発生したときと同様です。Code::Blocks でそれらにリンクするのを忘れていたのですが、リンクするとすぐに機能するようになりました。
コードなどに関する詳細情報が必要な場合は言ってください。
c++ - 仮想関数からの未定義の参照
私は次のようなクラスを持っています:
Base.h
Ib Base.cpp には、GetDetail が定義されています。
独自の実装 getInfo() から GetDetail を呼び出す派生クラスがいくつかあります。
Base.h の仮想関数定義から getInfo() の呼び出しを削除すると、派生クラス独自の実装でコードがコンパイルされます。
インライン化された仮想関数から GetDetail を呼び出す仮想関数でコンパイルすると、リンクは次のように失敗します。
GetDetail への参照が定義されていません。
何か案は?
c++ - テンプレート関数をヘッダーに実装せずに未定義の参照エラーに対処する方法はありますか?
問題が明確になることを願っています。ヘッダー ファイルにテンプレート関数を実装せずに未定義の参照エラーが発生しないようにする別の方法はありますか? 前もって感謝します。
c++ - 抽象クラス(Qt)の「vtableへの未定義の参照」
QCExpressionNode
式をツリー構造に解析するためのライブラリを作成しており、基本クラスとして抽象型を使用しています。次のようになります。
サブクラス(、、、など)で機能するいくつかのテスト(QtCreatorの別のプロジェクト)をコンパイルするQCConstantNode
とQCVariableNode
、QCBinaryOperatorNode
リンカーはQCExpressionNodeの「vtableへの未定義の参照」エラーを表示します。私は何が間違っているのですか?