[解決済み] エラーです。ファイル内で最初に参照されたシンボルが未定義です
2022-02-02 01:08:48
質問
このようなエラーが発生するのですが、どうしたらいいのかわかりません。 リクエストのコンストラクタは文字列型を取りますが、request.hファイルで適切に実装されていないようです。 エラーです。
Undefined first referenced
symbol in file
Request::Request(char *, int, int) threadtest.o
ld: fatal: Symbol referencing errors. No output written to nachos
のコードになります。
class Request
{
public:
//constructor intializes request type
Request(char *u, int rqtID, int rqtrID);
char *url;
int requestID;
int requesterID;
};
コンストラクタが定義されている request.cc ファイル
#include "request.h"
Request :: Request(char *urll, int requestIDD, int requesterIDD )
{
url = *urll
requestID = requestIDD;
requesterID = requesterIDD;
}
解決方法は?
まず、エラーの内容を理解することから始めましょう。
<ブロッククオートld: fatal: シンボル参照エラー。 nachosに書き込まれた出力はありません
これは、リンクの問題であることを意味します。リンカーはいくつかのシンボルの定義を見つけることができません。
ファイル内で最初に参照されたシンボルが未定義である リクエスト::リクエスト(char *, int, int) threadtest.o
ここで重要なのは -
Request::Request(char *, int, int)
と
threadtest.o
. つまり、ソースファイル名
threadtest.cpp
をインスタンス化しているところです。
Request
オブジェクトを作成します。ヘッダを含むことを理解すること ( おそらく
Request.h
で
threadtest.cpp
) は、コンパイラが宣言を見つけるのに役立ちます。リンカはすべてのオブジェクトファイルからシンボルの定義を探し出し、実行形式を作成しようとします。
ということは、もしかしたら
Request.cpp
をリンクし忘れたり
Request.o
.
関連
-
[解決済み】 unsigned int vs. size_t
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] 未定義の動作とシーケンスポイント
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】非静的メンバ関数への参照を呼び出す必要がある
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】関数名の前に期待されるイニシャライザー
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)