取り除けないリンク エラーが 3 つあります。
クラスのヘッダー ファイルで、独自のユーザー定義型の static public クラス定数をいくつか定義しました。次に、cpp ファイルでクラス定数を宣言して初期化しました。クラス自体でこれらの定数を使用できます。ただし、別のプロジェクトで定数を使用しようとすると、リンク エラーが発生します。
error LNK2001: unresolved external symbol "public: static class EFString const CEFMldEreignis::s_typeMelderSteuern"
ここで何が問題なのかわかりません。誰かアイデア?
よろしくお願いします!
ヘッダファイル:
class LIB_EXPORT CEFMldEreignis : public CBusinessObjekt
{
...
public:
static const EFString s_typeMelderSteuern;
...
};
cpp ファイル:
#include "EFMldEreignis.h"
const EFString CEFMldEreignis::s_typeMelderSteuern = _T("S");
Visual Studio 2008 を使用しています。定数が定義されているプロジェクトは、他のプロジェクトの共通プロパティに参照として追加され、 C++ プロパティに追加の include ディレクトリが追加されます。
別の 3 番目のプロジェクトでは、いくつかの静的クラス定数も実際に宣言していますが、これらを使用してもリンク エラーは発生しません。
リンカー コマンド ライン (すべてのオプション) :
(注意: EuroAllgemeineMasken は、定数が使用される「その他の」プロジェクトです。EuroMelder は、定数が定義および宣言されるプロジェクトです。)
/OUT:"C:\Eldis3\trunk\ELDIS\Workspace\..\Debug\EuroAllgemeineMasken.dll" /INCREMENTAL
/NOLOGO /LIBPATH:"C:\Eldis3\trunk\ELDIS\Workspace\..\Debug"
/LIBPATH:"C:\Eldis3\trunk\ELDIS\Workspace\\..\..\Lib\External\SST"
/LIBPATH:"C:\Eldis3\trunk\ELDIS\Workspace\\..\..\Lib\External\ELDIS" /DLL /MANIFEST
/MANIFESTFILE:"Debug\EuroAllgemeineMasken.dll.intermediate.manifest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /
PDB:"C:\Eldis3\trunk\ELDIS\Workspace\..\Debug\EuroAllgemeineMasken.pdb"
/SUBSYSTEM:WINDOWS /DYNAMICBASE:NO
/IMPLIB:"C:\Eldis3\trunk\ELDIS\Workspace\..\Debug\EuroAllgemeineMasken.lib" /MACHINE:X86
/ERRORREPORT:PROMPT ..\..\ELDIS\Debug\CEDVToolsEldis.lib ..\..\ELDIS\Debug\EuroTetra.lib
..\..\ELDIS\Debug\Services.lib ..\..\ELDIS\Debug\ServiceManager.lib
..\..\ELDIS\Debug\CESocketUDP.lib ..\..\ELDIS\Debug\EuroLWZ.lib
..\..\ELDIS\Debug\EuroRouting.lib ..\..\ELDIS\Debug\MassnahmeTools.lib
..\..\ELDIS\Debug\EuroDispo.lib ..\..\ELDIS\Debug\EuroMass.lib
..\..\ELDIS\Debug\BCGControlBar.lib ..\..\ELDIS\Debug\EuroFlug.lib
..\..\ELDIS\Debug\EuroMFCTools.lib ..\..\ELDIS\Debug\EuroLog.lib
..\..\ELDIS\Debug\EuroGis.lib ..\..\ELDIS\Debug\EuroDialoge.lib
..\..\ELDIS\Debug\CECrystalReport.lib ..\..\ELDIS\Debug\EuroInfo.lib
..\..\ELDIS\Debug\EuroIO.lib ..\..\ELDIS\Debug\EuroPers.lib
..\..\ELDIS\Debug\EuroStatus.lib ..\..\ELDIS\Debug\CELTextEldis.lib
..\..\ELDIS\Debug\EuroBers.lib ..\..\ELDIS\Debug\EuroMelder.lib
..\..\ELDIS\Debug\EuroLeit.lib ..\..\ELDIS\Debug\LOVDialog.lib
..\..\ELDIS\Debug\EuroFunk.lib ..\..\ELDIS\Debug\EuroEsta.lib
..\..\ELDIS\Debug\EuroOrt.lib ..\..\ELDIS\Debug\EuroEinsatz.lib
..\..\ELDIS\Debug\Gms.lib ..\..\ELDIS\Debug\GMTs.lib ..\..\ELDIS\Debug\EuroAdmin.lib
..\..\ELDIS\Debug\EuroOber.lib ..\..\ELDIS\Debug\EFBusiness.lib
..\..\ELDIS\Debug\EuroTools.lib ..\..\ELDIS\Debug\DBAccess.lib
..\..\ELDIS\Debug\DynamicWindows.lib