eMbedded VC++ 4.0を使っています.
シンボル名の制御と書きましたが,実際にはどうすれば
よいのか全くわかっていません.
何かよい方法をご存知の方がおられましたら,ぜひとも
ご教授承りたいと思います.
現在直面している問題ですが,
DLLを作成しDLL内の関数を呼び出すときに,
"unresolved external symbol"
というエラーが呼び出し側のビルド時に出てしまいます.
DLLでは複数の関数をエクスポートしているのですが,
他の関数はリンクエラーしないのにある特定の関数だけが
このようなリンクエラーになってしまいます.
以下,関数名などは適当に付けています.
エラーを見てみると __imp__FuncA が見つからないといっている
ので,作成したDLLのlibファイルをcygwin上でnmしてみたところ
__imp__?FuncA@@〜〜〜〜〜
などとなっていました.他の関数については
__imp__FuncB
_FuncB
__imp_FuncC
_FuncC
などとなっており,確かにリンカーがシンボルを見つけられそうに
ないなぁというのはわかったのですが,
FuncAの書き出しシンボル名を制御できるのかどうかがちょっと
わかりません.
FuncAの書き出しシンボル名が
__imp_FuncA
_FuncA
などとなれば呼び出し側でリンクエラーが起こらなくなると思っています.
うまく説明できたか心配ですが,よろしくお願いします.
掲示板を無駄にお借りして申し訳ありませんでしたが,
自己解決できましたです.
お騒がせしました.
解決方法を書けば、同様の問題を抱えている人の助けになり無駄にはなりません。
上のように自己完結してしまっては、本当に無駄になってしまいます。