過去の資産にアクセスするためにC#から使うクラスライブラリをC++/CLIで作成しています。
当初は.NET Framework 4.5で作成していたのですが、Windows7でFrameworkを追加するのが面倒くさいという事で、3.5でプロジェクトを起こし直してコンパイルしました。
そうしたところ、大量のリンクエラーが発生しました。
--抜粋(下記を含め、合計18行のエラー)
VCMRTD.lib(locale0_implib.obj) : error LNK2034: metadata は、COFF シンボル テーブルと整合しません:
LINK : error LNK2034: metadata は、COFF シンボル テーブルと整合しません
MSVCMRTD.lib(locale0_implib.obj) : error LNK2020: 未解決のトークン (0A0000A1) "extern "C" double __cdecl _hypot(double,double)" (?_hypot@@$$J0YANNN@Z)
--
調査した結果、fstream関連を定義するとこの症状が出る事がわかりました。
そこで、単純に以下のプロジェクトを作成したところ、同じ現象が発生しました。
1..NET Framework 3.5でCLRクラスライブラリのプロジェクトを作成する(ここではTESTプロジェクト)
2.作成されたテンプレートの「TEST.h」に関数を追加する
-----(TEST.h)
// TEST.h
#pragma once
#include <fstream>
using namespace System;
namespace TEST {
public ref class Class1
{
void test()
{
std::fstream f;
}
};
}
----
3.コンパイル → リンクエラー
標準関数はいくつか使っているのですが、fstream系だけがダメなようです。
(sstreamはOKでした)
これに関して、何か対策方法はないものでしょうか。
情報があればお教え下さい。
よろしくお願いいたします。
開発環境:
Windows 8.1
VisualStudio 2013 Pro
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
この回答への補足
情報有り難うございます。
当該情報について確認させて頂きましたが、開発環境バージョンが異なる為、残念ながら参考とはなりませんでした。
また、試しに昔の環境(VisualStudio2008+Windows7)でビルドしたところ、問題なくビルドする事が出来ました。
OSと開発環境のどちらに問題があるのかわからないですが、ソースコード自体は問題ないのではないかと思っています。
No.2
- 回答日時:
VS2013は持っていませんが、VS2012ではC++/CLIと互換性のあるC++ランタイムの
プラットフォームツールセットはv110_xpのようです。
VS2013の場合はv120_xpでしょうか?
プロジェクトのプロパティ→構成プロパティ→全般→プラットフォームツールセット
の値を v120からv120_xpに変更すればビルドできるようにならないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- サーバー Windowsサーバでグループを検索したい 1 2023/04/17 15:30
- ソフトウェア VisualStudio のデータブレークポイントを有効にする方法 1 2023/05/01 09:42
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- 教えて!goo 教えてGooヲチスレは今もどこかにあるのでしょうか? デジタルライフオールスターズは今? 1 2023/08/21 08:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
popen・pcloseについて
-
Visual C++ 2005 Express Editi...
-
リンカのエラー
-
外部シンボル" ~~"は未解決で...
-
プロセスIDの取得の方法。
-
C言語のエラー LNK1120: 外部参照
-
「外部シンボルが未解決」につ...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
アプリケーションのDLLファイル...
-
<math.h>があるのにsqrtが・...
-
<unistd.h>をVisualStudioでつ...
-
適切な変換関数が存在しない???
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
unsigned long long 型のフォー...
-
C言語なうなんですが、コンパイ...
-
error C3867 関数呼び出しには...
-
「fatal error C1189」を回避す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
C++でのエラー LNK2001
-
error LNK2001について
-
外部シンボルの未解決のエラー
-
外部シンボル" ~~"は未解決で...
-
コンパイルエラー
-
OpenCVでの画像サイズ取得につ...
-
LNK2019: 未解決の外部シンボル...
-
実行ファイルの容量を減らした...
-
エラー 未解決の外部シンボル
-
LNK2001(Pro*c)
-
popen・pcloseについて
-
DB2付きのC言語がコンパイルで...
-
PathIsDirectoryを使って
-
CLapack C++
-
外部シンボルについて
-
C++ の LNK2001エラー
-
未解決の外部シンボル
-
VC++ 6.0へのサンプルプログラ...
おすすめ情報