スタティックライブラリのリソースのリンク方法 – プログラミング – Home

スタティックライブラリのリソースのリン...
 
通知
すべてクリア

[解決済] スタティックライブラリのリソースのリンク方法


オリバ
 オリバ
(@オリバ)
ゲスト
結合: 18年前
投稿: 25
Topic starter  

VC6SP6 WindowsXPです。

CFileDialogの派生クラスCCustomFileDialogというのをスタティックライブラリで作成
しました。

これをMainDlgプロジェクトで使用したいです。

いろいろ調べたらリソースを含むライブラリはresファイルもリンクさせる必要があると書い
てあったんですがうまくいきません。

CustomFileDialogLib.resをプロジェクト⇒設定⇒リンク⇒オブジェクト/ライブラリモジュ
ールに指定すると以下のようなエラーがでます。

MainDlg.res : warning LNK4059: リソース ファイルは 1 つしか指定できません。コマ
ンドで最初に指定された .RES ファイルが使われます。

CustomFileDialogLib.resをリンクさせないとエラーはないですが
Domodalでエラーになります。

【CDERR_FINDRESFAILURE】 リソースを見つけられなかったので、コモンダイアログボッ
クス関数が失敗しました。


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

スタティックリンクライブラリってリソース持てましたっけ?
基本的にリソースが必要なものはDLLでないと駄目だったと思うのですけれど。
情報ソースを忘れてしまったので何処を見てくれと言えませんが。

私の勘違いでしたら、どなたかフォローをお願いします。


返信引用
オリバ
 オリバ
(@オリバ)
ゲスト
結合: 18年前
投稿: 25
Topic starter  

>スタティックリンクライブラリってリソース持てましたっけ?
ライブラリは、リソースを持っていないので、
resファイルをリンクする必要があるみたいなのですが・・・


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

リソース同士を結合する必要がありそうですね。

リソーススクリプトにコンパイル済みリソースをインクルードする構文があってもよさ
そうですが、リソーススクリプトの構文ってMSDNに載ってましたっけ。

他の対処だと、リソースのみをリンカに食わせてリソースエディタ(VCのIDE内臓で
も、Resource Hackerでも、XNResourceEditorでもいける)でリソースを切り出
して個別に組み込んではどうでしょうか。
Resource HackerだとRCファイル付きで一度に出力できるので、これで逆コン
パイルしたRCファイルを自分のRCファイルからインクルードするとかも有りかと思い
ます。

どちらも不可能なら、ライブラリとその呼び出し部分を別DLLとして分けて、DLLを
ライブラリのリソース、自前のEXEに自前のリソースとするとか。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

あんまりお勧めしませんけれど、実行ファイル側のリソースに
スタティックリンクライブラリ側のリソースを#includeするくらいですかねぇ。
ただし、rcファイルはリソースエディタで書き換えられる物なので
自分が勝手にいれた#include文は上書きされてしまうかもしれませんけれど。

通常、スタティックリンクライブラリはリソースを持てませんから
ライブラリとしてリソースが必要になるようなものを提供する事は
しないのが普通だと思います。
普通しないから今回のような問題が出る作りになっているわけだし。
リソース付きのライブラリを提供したいならDLLにするのが普通だし、
そうする事をお勧めします。


返信引用
オリバ
 オリバ
(@オリバ)
ゲスト
結合: 18年前
投稿: 25
Topic starter  

>通常、スタティックリンクライブラリはリソースを持てませんから
>ライブラリとしてリソースが必要になるようなものを提供する事は
>しないのが普通だと思います。

わかりました。
そういうことであれば、
私がやりたい事はそこまでしてライブラリにする必要はないものです。
自作クラスを汎用的に使いたかっただけですから・・・


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

>スタティックリンクライブラリってリソース持てましたっけ?
DLLを作る場合も拡張DLLという種類になってスタティックリンクは出来なかったと思い
ます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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