다른 프로젝트에서 사용할 수있는 C++로 DLL을 만들려고합니다.C++ DLL 만들기 : 정적 변수 초기화 문제
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)
#endif
template <typename T, typename C>
class MYDLL_API MyClass
{
private:
static C *variable;
//...
};
인 MyClass.cpp : 내 수업의 하나는이
에서 MyClass.h 같이
#include "stdafx.h"
#include "MyClass.h"
template <typename T, typename C>
C *MyClass<T, C>::variable= NULL;
을 내가 컴파일 때 "오류 LNK2001 얻을 : 확인되지 않은 외부 기호를 .. . "이 변수에 대해. 이 코드는 DLL을 만들기 전에 완벽하게 작동합니다 ...
제발, 도와주세요.
컴파일러 명령 줄 (보통 '-DMYDLL_EXPORTS')에 MYDLL_EXPORTS를 정의 했습니까? – vanza
더 많은 컨텍스트가 필요합니다. DLL을 컴파일하고 동일한 컴파일러를 사용하여 DLL에 연결하고 있습니까? C 코드와 C++ 코드를 인터페이스합니까? – Michael