.lib
大規模なプロジェクト用に(静的ライブラリ)を構築していて、ライブラリのエンドユーザーに関数を非表示にしたいの.c
ですが、ライブラリ内のすべてのファイルからこれらの関数を呼び出すことができる必要があります(したがって静的ではありません)。
これは正反対で__declspec(dllexport)
あり、私はすでにgccの解決策を見つけました。
を使用したいのですstatic
が、静的関数は「現在のファイル」内でのみ使用できるはず.c
なので、これは方法ではありません。
言い換えると、一部の関数をfinalにエクスポートしないように(プロジェクト内の他のすべてのファイルで.lib
使用できるようにしながら) Microsoft Visual C++2010に指示する方法が必要です。.c
注:ソリューション全体で__declspec
(どちらも__attribute__( visibility)
)使用したことはありません。これはおそらく、静的ライブラリの構築に関連するデフォルト設定にすぎません(トレースできません)。