トップページ > プログラム > 2014年04月21日 > aqBwlWRf

書き込み順位&時間帯一覧

30 位/170 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000010012



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.90【環境依存OK】

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.90【環境依存OK】
333 :デフォルトの名無しさん[sage]:2014/04/21(月) 20:25:21.57 ID:aqBwlWRf
自作のプログラムにboostのregexのlibboost_regex-vc120-mt-sgd-1_55.libを
スタティックリンクして使いたいのですが、あるもうひとつ別のライブラリも
リンクしていてその中にparseという関数があり、.DEFファイルでexportして
います。そうすると、parseという関数が二か所にあるのでエラーするようで、
error LNK2001: 外部シンボル "parse" は未解決です。
となります。良い解決方法ありますか?VS2013です。
【初心者歓迎】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 は初めてなのでいま調査中です。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。