[解決済み] std:stringの未定義参照 [重複].
2022-02-07 12:26:41
質問
引数からファイル名を読み取り、そのファイルをコマンドラインに出力するコードがあります。
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
if (argc != 2)
{
printf("Use: .exe [filename you want printed out]\n");
}
char* name = argv[1];
string line;
printf("filename:%s\n", name);
ifstream myfile(name);
if (myfile.is_open())
{
while (getline(myfile,line))
{
cout << line << '\n';
}
myfile.close();
}
}
しかし、私のコードをコンパイルしようとすると、次のようなエラーが出力されます。
hello.cpp:(.text+0x5a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
hello.cpp:(.text+0x93): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(char const*, std::_Ios_Openmode)'
hello.cpp:(.text+0xa2): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::is_open()'
hello.cpp:(.text+0xbf): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
hello.cpp:(.text+0xd4): undefined reference to `std::basic_ios<char, std::char_traits<char> >::operator bool() const'
hello.cpp:(.text+0xe9): undefined reference to `std::cout'
hello.cpp:(.text+0xee): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
hello.cpp:(.text+0xfb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)'
hello.cpp:(.text+0x10c): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::close()'
hello.cpp:(.text+0x11b): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
hello.cpp:(.text+0x12a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
hello.cpp:(.text+0x152): undefined reference to `std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream()'
hello.cpp:(.text+0x166): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/cc0aneAi.o: In function `__static_initialization_and_destruction_0(int, int)':
hello.cpp:(.text+0x1a9): undefined reference to `std::ios_base::Init::Init()'
hello.cpp:(.text+0x1be): undefined reference to `std::ios_base::Init::~Init()'
/tmp/cc0aneAi.o:(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
collect2: error: ld returned 1 exit status
何を言っているのか、どうすれば直るのか、よくわかりません。
解決方法を教えてください。
を含んでいません。
std::string
をコードに追加してください。の中にあります。
<string>
ヘッダを作成します。
<string.h>
を含まないC言語のヘッダーです。
std::string
.
関連
-
[解決済み] テスト
-
[解決済み】Visual Studio 2015で「非標準の構文。'&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】文字列関数で'char const*'のインスタンスを投げた後に呼び出されるterminate [閉店].
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む
最新
-
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++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】'cout'は型名ではない
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件