C++ リンクエラーLNK2019について質問

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Ryu syou

C++ リンクエラーLNK2019について質問

#1

投稿記事 by Ryu syou » 7年前

C++初心者なんで、どうやら解決できないエラーを出てきましたの、C++ リンクエラーLNK2019についてご質問をさせていただきます。
私はRational RhapsodyでSysMLモデルを作っていました。
OS:WINDOW (64)
コンパイラについては下記図風にC++コンパイラを設定した
[img]D:\06_research\06_hybrid%20of%20rhapsody%20and%20matlab\project\AirshipControlSysForC02\無題.png[/img]
コンパイラする時はエラーがなしですが、
ビルドする時:以下

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
Linking DefaultComponent.exe
MSVC9oxf.lib(OMNotifier.obj) : warning LNK4217: ローカルで定義されたシンボル ?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z (public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)) がフィクション "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) にインポートされました。
MSVC9oxf.lib(OMNotifier.obj) : warning LNK4217: ローカルで定義されたシンボル ?eof@?$char_traits@D@std@@SAHXZ (public: static int __cdecl std::char_traits<char>::eof(void)) がフィクション "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) にインポートされました。
MSVC9oxf.lib(OMNotifier.obj) : warning LNK4217: ローカルで定義されたシンボル ?length@?$char_traits@D@std@@SAIPBD@Z (public: static unsigned int __cdecl std::char_traits<char>::length(char const *)) がフィクション "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) にインポートされました。
MSVC9oxf.lib(OMNotifier.obj) : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: int __thiscall std::ios_base::width(int)" (__imp_?width@ios_base@std@@QAEHH@Z) が関数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) で参照されました。
MSVC9oxf.lib(OMNotifier.obj) : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z) が関数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) で参照されました。
MSVC9oxf.lib(OMNotifier.obj) : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: int __thiscall std::ios_base::width(void)const " (__imp_?width@ios_base@std@@QBEHXZ) が関数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) で参照されました。
MSVC9oxf.lib(OMNotifier.obj) : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (__imp_?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) が関数 "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::_Sentry_base(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z) で参照されました。
MSVC9oxf.lib(OMNotifier.obj) : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (__imp_?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) が関数 "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::~_Sentry_base(void)" (??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ) で参照されました。
DefaultComponent.exe : fatal error LNK1120: 外部参照 5 が未解決です。
NMAKE : fatal error U1077: 'D:\software\VisualStudio\VC\BIN\link.exe' : リターン コード '0x460'
Stop.

ビルドが完了しました

やはりどんな原因ですか。
誰かご存知でしょうか。

Loki
記事: 22
登録日時: 7年前

Re: C++ リンクエラーLNK2019について質問

#2

投稿記事 by Loki » 7年前

例えば、
a.hが、

コード:

int a(void);
a.cppが、

コード:

int a(int b){
	return b;
}
のように、戻り値の型や、引数の型が異なっている場合、このようなエラーが出ると思います。
ご確認ください。

閉鎖

“C言語何でも質問掲示板” へ戻る