以下のエディターは、Linux g++ で 静的 ライブラリと動的ライブラリをコンパイルして使用する方法に関する記事を提供します。エディターはそれがそうであると考えています。かなり良いです。これを参考として共有します。
Windows 環境では、通常、VS プロジェクトなどの IDE で C++ プロジェクトを開発します。静的ライブラリ (*.lib) と動的ライブラリ (*.dll) の使用はすでによく知られているかもしれませんが、Linux 環境には、対応する静的ライブラリ (*.a) と動的ライブラリという別のモードのセットがあります。 (*.so) はさまざまな方法で生成され、使用されます。最初は慣れないかもしれませんが、VS での設定ほど手順は複雑ではないため、慣れてくるはずです。 Linuxでの静的ライブラリと動的ライブラリの生成と使い方を以下にまとめます: (C++プロジェクトなのでコンパイラはg++を使用しますが、gccの使用と同じです)
まずは。 準備作業
は必要なものをカプセル化することです ライブラリファイルの関数のヘッダファイルとソースファイルは以下のように記述します:
//myAPI.h int ADD(int a, int b); int MINUS(int a, int b);
//myAPI.cpp #include "myAPI.h" int ADD(int a, int b){ return a + b; } int MINUS(int a, int b){ return a - b; }
//main.cpp #include "myAPI.h" #include <iostream> int main(){ std::cout << "1 + 1 = " << ADD(1, 1) << std::endl; std::cout << "1 - 1 = " << MINUS(1, 1) << std::endl; return 0; }
g++ -c myAPI.cpp
Linux で myAPI を処理する静的ライブラリを生成するにはコマンド ar を使用します.o ファイルを使用して静的ライブラリ ファイルを生成します。生成されるライブラリ ファイルは仕様に従う必要があり、Linux 上のライブラリ ファイルには「lib」プレフィックスを追加する必要があります。そのため、この例では、次のようにして静的ライブラリ libmyAPI.a を生成できます。コマンド:
ar crv libmyAPI.a myAPI.o
g++ main.cpp libmyAPI.a -o output
./output
Linux でコンパイルするときに -shared パラメータを渡すことで、ダイナミック ライブラリ (.so) ファイルを生成できます。次のように生成される動的ライブラリ
g++ -shared -fPIC -o libmyAPI.so myAPI.o
g++ main.cpp -L. -lmyAPI -o output
ドライバー プログラム
が共有関数ライブラリ libmyAPI.so を参照するで次のエラーが表示された場合は、libmyAPI.so を /usr/lib ディレクトリに移動するだけです。 りー
以上がLinux での g++ コンパイルと静的ライブラリと動的ライブラリの使用の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。