- 締切済み
VC++でリンクエラー
開発環境: Visual C++ 2008 WindowsXP SP2 以下のようなリンクエラーが出て困っています。 [エラーメッセージ] xxx.lib(xxx01.obj) : error LNK2001: 外部シンボル ""public: void __thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)" は未解決です。 [確認した点] C:\Program Files\Microsoft Visual Studio 9.0\VC\lib に「libcpmt.lib」というライブラリがあり、これをダンプすると Xran@_String_base@std@@・・・ という箇所がありましたのでこのライブラリとのリンクをすれば良い かなと思います(release版のマルチスレッドであるため)。勿論このファオルダをライブラリディレクトリの一番上に指定しております(順番を変えて試したりもしました)。 [不可解な点(原因と関係があるかもしれない点)] (1)VCの2008以下のバージョンからプロジェクトを2008用に変換しています。元のバージョンが何なのかはわかりません。(知る方法はありますか?) どのような原因が考えられるでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Prog_HIGE
- ベストアンサー率33% (1/3)
(1)VCの2008以下のバージョンからプロジェクトを2008用に変換しています。元のバージョンが何なのかはわかりません。(知る方法はありますか?) の元のバージョンを知る方法について参考意見を述べさせていただきます。 もし、手に入れた直後のプロジェクトをまだお持ちでしたら、.slnというファイルをメモ帳などで開いて見てはいかがでしょうか? 私の環境ではVisual C++などで作成したプロジェクトはメモ帳で開くと 二行目辺りに開発に使用したVisualStudioのバージョンというか年式が 書いてありますので、参考までに回答させていただきました。
- sinwxyz
- ベストアンサー率0% (0/0)
参考URLが同じようなエラーに見えます. プロジェクト右クリック⇒プロパティ⇒リンカ⇒コマンドライン ⇒追加のオプション にXXX.libを追加したら良いだけでは?
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> VCの2008以下のバージョンからプロジェクトを2008用に変換しています。 ハナっから2008で起こしたやつならそのリンクエラーは発生しないのですか?
お礼
説明不足ですいません。 まさにそれを今やろうとしてますが、かなりてこずってます。