「Qtの基礎 - ライブラリ」の版間の差分

ナビゲーションに移動 検索に移動
1行目: 1行目:
== 概要 ==
== 概要 ==
Qt Creatorにおいて、静的ライブラリおよび動的ライブラリを作成して、他のQtプロジェクトにリンクする手順を記載する。<br>
Qt Creatorにおいて、静的ライブラリおよび動的ライブラリを作成して、他のQtプロジェクトにリンクする手順を記載する。<br>
<br><br>
== 外部リンケージの制限 ==
==== --version-scriptオプションによるAPI制限 ====
マップファイルに公開する関数を指定して、コンパイラのビルドオプション (<code>LDFLAGS</code>) に<code>-Wl,--version-script,<マップファイル名>.map</code>を付加する。<br>
LDFLAGS+=-Wl,--version-script,<マップファイル名>.map
<br>
<マップファイル名>.map
{
    global:
      <公開する関数名 1>;
      <公開する関数名 2>;
      <公開する関数名 3>;
    local: *;
};
<br>
==== 公開する関数に__attribute__((visibility("default")))を付加する ====
コンパイラのビルドオプションに<code>-fvisibility=hidden</code>を付加する場合、まず全ての関数が非公開になる。<br>
次に、公開する関数名の前に<code>__attribute__((visibility("default")))</code>を付加する。<br>
<br><br>
== 外部リンケージの確認 ==
==== nmコマンドの使用 ====
<code>nm</code>コマンドを実行して、外部リンケージを確認することができる。<br>
nm -D <ライブラリファイル名>
<br><br>
<br><br>


案内メニュー