libファイルによるリンク – プログラミング – Home

libファイルによるリンク
 
通知
すべてクリア

[解決済] libファイルによるリンク


common
 common
(@common)
ゲスト
結合: 16年前
投稿: 8
Topic starter  

VC++ 2005で作成したMFC DLLプロジェクトの
libファイルについて質問があります。

ビルド後にlibファイルとDLLファイルが作成されますが、
DLLファイルを参照せず、
libファイルのみをリンクする場合はどうすればいいですか?

現状→
以下のコードを記述し、
DLLプロジェクトのメソッドを呼び出した場合

#pragma comment(lib, Common.lib)
#include Common.h

「アプリケーション起動時に
Common.dllが見つからなかったため、
このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。」

と表示されます。

この設定だとexeファイル直下のフォルダに
dllファイルをコピーすると動作可能かと思いますが、、、、


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

ダイナミックリンクライブラリとして作成しているのであれば、DLLは必要です。
(DLL = ダイナミック リンク ライブラリ)

スタティックリンクライブラリとして作成していれば、*.libが取り込まれますので、
*.exeのみで実行できます。
(同じ*.libでも違う)


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

> libファイルのみをリンクする場合はどうすればいいですか?

リンク時にはDLLは必要ありません(リンクされません)よ。
libファイルのみがリンクされています。


返信引用
common
 common
(@common)
ゲスト
結合: 16年前
投稿: 8
Topic starter  

Blueさん、επιστημηさん

早速の書き込みありがとうございます。

スタティックリンクライブラリとして作成する事で解決出来ました。

また、MFCの使用に以下の項目がありますが、

・スタティックライブラリでMFCを使用する
・標準Windowsライブラリを使用する
・共通DLLでMFCを使う

これについては、統一させるべきなのでしょうか?

現状、統一しないとエラーが発生してしまうので。。。


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

解決のチェックが入っているのに質問が続くとはこれ如何に。

あわせておかないと駄目だと思いますよ。
ライブラリを含めてプロジェクトの設定はきちんと合わせる様に
最初から決めておくべきだと思います。

まあ、エラーが出るでしょうから合わせざる得ないと思いますけれど。


返信引用
common
 common
(@common)
ゲスト
結合: 16年前
投稿: 8
Topic starter  

どうもすみません。
本題は解決したのですが、すこし気になったもので。。。

PATIOさんのおっしゃるとおりでした。

一応、プロジェクト構成を増やし、
両者の指定が可能にする事で解決しました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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