問題タブ [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.
makefile - CプログラムからのC++関数の呼び出し
CプログラムからC++関数を呼び出すにはどうすればよいですか?それは可能ですか?それが可能であればどうすればよいですか?ありがとうございました。
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
うまくいくはずですよね?
何か案は?
ありがとう、ロイ
c++ - C++ テンプレート、未定義参照
次のように宣言された関数があります。
次のように定義されます。
ただし、 main() 関数で使用しようとすると:
g++ から次のエラーが表示されます。
誰かが私を正しい方向に向けることができますか?
c++ - C ++-最近作成されたクラスへの未定義の参照!
この新しいクラスを作成しました:
クラスの定義:
ここで問題となるのは、コードで別のクラスの静的メンバーとして使用しようとすると、次のようになります。
次に内部:VehicleManager.cpp
しかし、それはコンパイルされません:(、私は毎回このエラーメッセージを受け取ります:
特に、VehicleManager.cppのグローバルスコープで静的クラスメンバーを定義した理由はよくわかりません。
PS:私はCode::Blocksを使用しています。
ありがとう !
c++ - QtおよびC++-スロットへの未定義の参照
Qtのスロットでビルドエラーが発生しました。パブリックスロットを持つクラスがあります:
このクラスのコンストラクターでは、次のことを行います。
QLineEdit-textFromオブジェクトがあります。ビルドエラーは
:-1:エラー:collect2:ldが1つの終了ステータスを返しました
お願い助けて (:
c++ - クラス関数の問題への未定義の参照
私はこの基本的な質問に答えるためにインターネットと私自身の知性を精査しました、しかし、私自身の失望の多くは私が解決策を見つけることができませんでした。私は通常、複数のヘッダーファイルについてはかなり得意ですが、壁にぶつかりました。問題は、ヘッダーで宣言し、ソースファイルの適切な名前空間で定義した関数です。私はBloodshedを使用してWindowsで開発しています。
/////////////////////////////////クラスMatrix4x3.h///////////// //////////////////
/////////////////////////////////クラスMatrix4x3.cpp///////////// //////////////////
////////////// 主要 ////////////////
Bloodshedを使用しており、構築されたオブジェクトを使用するとクラスメンバーとメソッドのリストが表示されますが、コンパイル時に上記のメソッドが参照されていないことがわかります。誰かが応答を持っているなら、私は非常に感謝するでしょう。
g++ - 「yylex()」への未定義の参照
flex と bison を使用して単純なスクリプト言語を作成しようとしています。今、私は電卓を動かそうとしています。
しかし、私はそれをコンパイルすることはできません。このメイクファイルを実行すると:
.l および .ypp ファイルで、次のエラーが発生します。
そして、次のall
ようなコマンドを作成すると:
見つからなかったと表示されます-lfl
。そして、私がこのようにすると:
エラーに戻りundefined reference
ます。
申し訳ありませんが、私はこれについて少し無知です。
編集:フレックスがインストールされています。-lfl から C:/GnuWin32/lib/libfl.a に変更しようとしました (Linux には奇妙な問題があり、まだ Mac を持っていないため、Windows を使用しようとしています)。同じエラー。
c - Linuxのcursesで次のエラーが発生するのはなぜですか?
キーの押下をキャプチャするためにgetch()を機能させようとしています。
次のエラーが発生します:-
c++ - シンボル「vtable for ...」および「typeinfo for ...」は未定義ですか?
ほぼ最終ステップですが、まだ奇妙なエラーがいくつかあります....
vtable と typeinfo の意味は何ですか?