静的ライブラリの置き場所

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
h1j1k1
記事: 27
登録日時: 1年前

静的ライブラリの置き場所

#1

投稿記事 by h1j1k1 » 2週間前

質問というより個人の意見を聞かせていただくことになってしまいますが、聞かせていただきます。
静的ライブラリ、同的ライブラリって皆さんどこにおいていますか?
過去に見たことあるのは、
1. ソースファイルの置場と同じ場所:ソースファイルと混濁する
2.ソースファイルの置場にファイルを置いて作る:#include <"??/??.lib">とするのが若干面倒
3.ソースファイル、ライブラリ、生成ファイルの各置場を作る:#include <./??/??.lib>とするのが面倒、ファイルを探しにくい
の3つがあります。
横にあるのが個人的にデメリットでして、どれが一番最適なのか、もしくは他にいい案があるのか気になりました。

一応
OS: Win7
Compiler: MinGW-w64
editor: VScode

かずま

Re: 静的ライブラリの置き場所

#2

投稿記事 by かずま » 1週間前

MinGW-x64 って、GCC(gcc, g++) ですよね。
私は、Cygwin しか使っていないので、間違っているかも
しれませんが、gcc ということで思っていることを書きます。

#include <"??/??".lib"> というのは違和感ありまくりです。

#include ですが、<ヘッダー> と "ヘッダー" なら分かりますが、
<"ヘッダー"> という書き方はないと思います。
#include <stdio.h> とか #include "hoge.h" のように
ヘッダーファイルの拡張子は .h のはずです。
.lib と書くことは通常ありません。

.lib というのは、Windows での静的ライブラリの拡張子です。
gcc なら .a のはずでは?

動的(同的ではない)ライブラリの拡張子は、
Windows なら .dll、Linux なら .so (共有ライブラリ)ですが、
Cygwin の場合は .so も .dll にするようです。

ヘッダーファイルやライブラリはどこにおいてもよく、
#include "???.h" にして、コンパイルを
 gcc -o exec-file -Iinc-dir -Llib-dir source-files lib-files
のようにするのが普通ではありませんか?

lib-file が libxxx.a や libxxx.dll なら -lxxx でも指定できます。

意見を述べたので、返信をお願いします。

返信

“C言語何でも質問掲示板” へ戻る