- 【初心者歓迎】C/C++室 Ver.90【環境依存OK】
342 :デフォルトの名無しさん[sage]:2014/04/21(月) 23:02:41.37 ID:aqBwlWRf - すみません、ちょっと説明を間違えていました。自作のDLL (マルチスレッド デバッグ (/MTd))を作成中で、
その中にparseという関数があります。その関数は.DEFでExportしています。boostのregexを使いたいので #include "boost/regex.hpp" をインクルードして、ビルドすると、そのparseは libboost_regex-vc120-mt-sgd-1_55.lib で定義されていますというような警告が出てエラーします。 少し調べてみたところ、regexに限らず、boostの関数名と同じ関数を自作のDLLの中に作って、それを.DEF ファイルに書くと、同じエラー出ました。 たとえば、boost::filesystem::exists()に対して、void exists()という関数を作り、.DEFに書くと 同じエラーします。とりあえず.DEFに書くのをやめると解決するのですが、昨日からboost使い始めたばかりなので 基本的なこと良く分っていません。解決方法ありましたら教えて下さい。 教えていただいたLoadLibraryやextern "C"やdumpbin /EXPORTS は初めてなのでいま調査中です。
|