問題タブ [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.

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

makefile - CプログラムからのC++関数の呼び出し

CプログラムからC++関数を呼び出すにはどうすればよいですか?それは可能ですか?それが可能であればどうすればよいですか?ありがとうございました。

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

c++ - コンストラクタへのg ++​​未定義参照

コンパイル済みのライブラリに対して cpp ファイルをコンパイルおよびリンクすると、「未定義の参照」エラーが発生します。

まず、これはコマンドです(問題のライブラリはquicknet3で、私がコンパイルしているプログラムはtrapperです):

g++ -w -g -I. -g -O3 -pipe -Wall -I/home/install/x86_64/include/quicknet3 -L/home/install/x86_64/lib -lquicknet3 -lintvec -lfltvec -o trapper trapper.cpp CMyException.cpp

未定義の参照エラーは次のとおりです。

/tmp/ccFuVczF.o: In function 'main': trapper.cpp:1731: undefined reference to 'QN_InFtrLabStream_PFile::QN_InFtrLabStream_PFile(int, char const*, _IO_FILE*, int)'

trapper.cpp の呼び出し (1731 行目) は次のとおりです。

IN_PFILE = new QN_InFtrLabStream_PFile(0, "", fp, 1);

ここfpで、事前に呼び出しFILE *の結果として割り当てられたです。fopen

呼び出されるコンストラクターは、関連するヘッダー ファイル (QN_Pfile.h) で次のように定義されます。

class QN_InFtrLabStream_PFile : public QN_InFtrLabStream
{
public:
QN_InFtrLabStream_PFile(int a_debug, const char* a_dbgname, FILE* a_file, int a_indexed);
(... other declarations ...) }

コンストラクターの定義は、実際には QN_Pfile.cc で与えられます。

QN_InFtrLabStream_PFile::QN_InFtrLabStream_PFile(int a_debug,const char* a_dbgname, FILE* a_file, int a_indexed) : log(a_debug, "QN_InFtrLabStream_PFile", a_dbgname),file(a_file),indexed(a_indexed),buffer(NULL),sentind(NULL) {
(... the usual constructor stuff :P ...) }

エラーなしで自分でquicknet3ライブラリをコンパイルし、/home/install/x86_64/lib/libquicknet3.aにインストールしました

そのため、trapper.cpp からの呼び出しでこのコンストラクター定義への参照が見つからない理由がわかりません。の g++ 引数で-L/home/install/x86_64/lib -lquicknet3うまくいくはずですよね?

何か案は?

ありがとう、ロイ

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

c++ - C++ テンプレート、未定義参照

次のように宣言された関数があります。

次のように定義されます。

ただし、 main() 関数で使用しようとすると:

g++ から次のエラーが表示されます。

誰かが私を正しい方向に向けることができますか?

0 投票する
8 に答える
6468 参照

c++ - C ++-最近作成されたクラスへの未定義の参照!

この新しいクラスを作成しました:

クラスの定義:

ここで問題となるのは、コードで別のクラスの静的メンバーとして使用しようとすると、次のようになります。

次に内部:VehicleManager.cpp

しかし、それはコンパイルされません:(、私は毎回このエラーメッセージを受け取ります:

特に、VehicleManager.cppのグローバルスコープで静的クラスメンバーを定義した理由はよくわかりません。

PS:私はCode::Blocksを使用しています。

ありがとう !

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

c++ - QtおよびC++-スロットへの未定義の参照

Qtのスロットでビルドエラーが発生しました。パブリックスロットを持つクラスがあります:

このクラスのコンストラクターでは、次のことを行います。

QLineEdit-textFromオブジェクトがあります。ビルドエラーは

:-1:エラー:collect2:ldが1つの終了ステータスを返しました

お願い助けて (:

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

c++ - クラス関数の問題への未定義の参照

私はこの基本的な質問に答えるためにインターネットと私自身の知性を精査しました、しかし、私自身の失望の多くは私が解決策を見つけることができませんでした。私は通常、複数のヘッダーファイルについてはかなり得意ですが、壁にぶつかりました。問題は、ヘッダーで宣言し、ソースファイルの適切な名前空間で定義した関数です。私はBloodshedを使用してWindowsで開発しています。

/////////////////////////////////クラスMatrix4x3.h///////////// //////////////////

/////////////////////////////////クラスMatrix4x3.cpp///////////// //////////////////

////////////// 主要 ////////////////

Bloodshedを使用しており、構築されたオブジェクトを使用するとクラスメンバーとメソッドのリストが表示されますが、コンパイル時に上記のメソッドが参照されていないことがわかります。誰かが応答を持っているなら、私は非常に感謝するでしょう。

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

g++ - 「yylex()」への未定義の参照

flex と bison を使用して単純なスクリプト言語を作成しようとしています。今、私は電卓を動かそうとしています。

しかし、私はそれをコンパイルすることはできません。このメイクファイルを実行すると:

.l および .ypp ファイルで、次のエラーが発生します。

そして、次のallようなコマンドを作成すると:

見つからなかったと表示されます-lfl。そして、私がこのようにすると:

エラーに戻りundefined referenceます。

申し訳ありませんが、私はこれについて少し無知です。

編集:フレックスがインストールされています。-lfl から C:/GnuWin32/lib/libfl.a に変更しようとしました (Linux には奇妙な問題があり、まだ Mac を持っていないため、Windows を使用しようとしています)。同じエラー。

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

c - Linuxのcursesで次のエラーが発生するのはなぜですか?

キーの押下をキャプチャするためにgetch()を機能させようとしています。

次のエラーが発生します:-

0 投票する
5 に答える
48182 参照

c++ - シンボル「vtable for ...」および「typeinfo for ...」は未定義ですか?

ほぼ最終ステップですが、まだ奇妙なエラーがいくつかあります....

vtable と typeinfo の意味は何ですか?