C++ で記述された静的ライブラリがあり、データ形式を記述する構造体があります。
struct Format{
long fmtId;
long dataChunkSize;
long headerSize;
Format(long, long, long);
bool operator==(Format const & other) const;
};
一部のデータ形式は広く使用されており{fmtId=0, dataChunkSize=128, headerSize=0}、{fmtId=0, dataChunkSize=256, headerSize=0}
一部のデータ構造クラスはコンストラクターで形式を受け取ります。参照によって渡すことができるいくつかのグローバルFormatメンバーなど、これらの広く使用されている形式の何らかのショートカットが必要です。gFmt128, gFmt256次のような .cpp ファイルでそれらをインスタンス化します
Format gFmt128(0, 128, 0);
そして.hには
extern Format gFmt128;
また、メインモジュールで宣言Format const & Format::Fmt128(){return gFmt128;}して使用しようとしています。
しかし、lib を使用するメイン モジュールで実行しようとすると、リンカは未解決の external について不平を言いgFmt128ます。
ライブラリにこれらのグローバル変数を「エクスポート」させて、他のモジュールから使用できるようにするにはどうすればよいですか?