MFC 클래스 내부에 선언한 static 멤버 변수를 사용하려 하면 어떻게 해야할까? 일단 아무 생각 없이 선언해 놓고 사용을 하면 컴파일러는 링크 에러를 뿌려댄다. 그렇다면 어떻게 해야할까 클래스 헤더에 static int n; 이라는 값을 선언했다면 cpp 상단부에 다음과 같이 해줘야 한다. 변수형 클래스이름::변수이름 = 초기값; 예를 들어 클래스 이름이 Student고 int로 선언된 변수 이름이 TeacherName이면 cpp의 상단에 CString Student::TeacherName = _T(""); 다른 경우 int Student::nGroupNo = 0; 이런식으로 초기값을 주어야 한다. 아 이런걸 보면 참 Java가 쓰기 편한거 같다 -.-;;
사용할 프로그램은 멀티 바이트로 작성하였고, DLL은 유니코드로 작성 하였는데, 프로그램에서 DLL을 불러서 사용하려고 하니 에러가 났다. 에러 내용은 다음과 같았다. error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall StartCapture(class ATL::CStringT)" (__imp_?StartCapture@@QAEHV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z) 2>D:\실행파일.exe : fatal error LNK1120: 1 unresolved externals CString이 유니코드와 멀티바이트 일때 각각 다..
- Total
- Today
- Yesterday
- Cloud
- it
- 리눅스
- driver
- AWS
- 음악
- jni강좌
- Troubleshooting
- source
- db
- Python
- database
- C++
- android
- jni
- linux
- Visual C++
- 드라이버
- java
- winapi
- 프로그래밍
- 안드로이드
- Quiz
- C
- NDK
- gcc
- MFC
- kering
- API
- algorithm
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |