関数をエクスポートするdllを書いています
extern "C"
__declspec(dllexport)
std::list<string> create() {
return std::list<string>();
}
コンパイラは文句を言います:
エラー C2526: 'create': C リンケージ関数は C++ クラス 'std::list<_Ty>' を返すことができません
extern "C" を削除すると、エクスポートされる関数名は ?create@@YA?AV?$list@PAUanalyzer@@V?$allocator@PAUanalyzer@@@std@@@std@@XZ になります。
名前をきれいにしたいので、extern「C」を追加しましたが、競合するようになりました
きれいな関数名を取得できる他の方法はありますか?
ありがとう。