SHFOLDER.DLLへのリンク – プログラミング – Home

通知
すべてクリア

[解決済] SHFOLDER.DLLへのリンク


リムファクシ
 リムファクシ
(@リムファクシ)
ゲスト
結合: 20年前
投稿: 15
Topic starter  

SHGetFolderPath関数を使用して、アプリケーションデータフォルダを取得しています。
このAPIはSHELL32.dll版とSHFOLDER.dll版があり、Windows98上で動作させるには、
SHFOLDER.dll版を使用しなければなりません。そこで、
#include <shfolder.h>
#pragma comment(lib, shfolder.lib)
を記述し、インストール先のフォルダにSHFOLDER.dllを配置しました。
しかし起動してみると、
「欠落エクスポート SHELL32.DLL:SHGetFolderPathA にリンクされています。」
というエラーが発生します。

MSDNには「SHFOLDER.DLL に実装されている SHGetFolderPath に必ずリンクするよう
に」と書かれていたのですが、これは具体的にどのような事をすればいいのでしょう
か?

宜しくお願いします。


引用未解決
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

えっと MSDN に書かれているとおりにすれば問題なく動作するはずですが、
記載されていないことをやっているようにしか見えませんけど。
>#include <shfolder.h>
>#pragma comment(lib, shfolder.lib)
こんなことしろと書いてあります?
書いてあるとおりにやったらできたですけど... (Win98 マシンを発掘してチェック済み)


返信引用
リムファクシ
 リムファクシ
(@リムファクシ)
ゲスト
結合: 20年前
投稿: 15
Topic starter  

わざわざ動作確認までして頂きまして、ありがとうございます。
http://www.microsoft.com/japan/msdn/library/?
url=/japan/msdn/library/ja/jpdnw2kcli/htm/AppSpecDesk5.asp
を参考にしていたのですが、「SHFOLDER.DLLにリンク」は、
どうのようにやったのかだけ、教えて頂けないでしょうか?

#pragma comment(lib, shfolder.lib)
てっきり、これの事だと思ってました・・・


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

shell32.lib より先に shfolder.lib がリンクされるように汁と書かれていますね。
#pragma comment ではリンク指定はできてもその順まで指定できなかったと思います。
VC++6 ならプロジェクトの設定→リンク→ライブラリ一覧で、先頭に shfolder.lib を追加
(要 Platform SDK) かな。他開発ツールならご自分で設定調べてください。

#include <shlobj.h> であって <shfolder.h> ぢゃないっすよ。


返信引用
リムファクシ
 リムファクシ
(@リムファクシ)
ゲスト
結合: 20年前
投稿: 15
Topic starter  

tetrapodさん、ありがとうございました。
ばっちり出来ました。
#pragma commentと、IDEからライブラリを登録するのは、
同じものだと思いこんでおりました・・・
まだまだ修行が足りませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました