掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLのシンボル名を制御するには? (ID:52088)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
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 などとなれば呼び出し側でリンクエラーが起こらなくなると思っています. うまく説明できたか心配ですが,よろしくお願いします.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.