|
CSIDL_DESKTOP 등의 Definition은 shlobj.h 를 선언하셔야 등록이 됩니다.
사용하신 컴포넌트가 버젼이 맞지 않거나 해서 위 헤더 파일이 선언이 되지 않았다면
위 헤더를 선언해 주시기 바랍니다.
또한 VCL을 사용하시는 경우에는 shlobj.h 를 선언하시면 중복 선언 에러가 나는데,
그럴때는 Project -> Options -> Directories/Conditionals 탭을 선택하신 다음
아래의 Conditionals 항목의 Conditional Defines 항목이 "_DEBUG" 이렇게 되어 있는 것을
"_DEBUG;NO_WIN32_LEAN_AND_MEAN" 이렇게 변경해 주시면 됩니다.
cuperido
ASURADA 님이 쓰신 글 :
: Builder의 Example/ShellControls 에 있는 컴포넌트를 설치하려 하는데..
:
: install new component 에서 shellctrls.cpp 를 불러와서 컴파일을 하는데 에러나 발생합니다.
:
: [C++ Error] shellctrls.cpp(18): E2451 Undefined symbol 'CSIDL_DESKTOP'
: [C++ Error] shellctrls.cpp(18): E2304 Constant variable 'CSIDL_DRIVES' must be initialized
: [C++ Error] shellctrls.cpp(18): E2304 Constant variable 'CSIDL_NETWORK' must be initialized
: [C++ Error] shellctrls.cpp(18): E2304 Constant variable 'CSIDL_BITBUCKET' must be initialized
: [C++ Error] shellctrls.cpp(18): E2304 Constant variable 'CSIDL_APPDATA' must be initialized
: [C++ Error] shellctrls.cpp(19): E2304 Constant variable 'CSIDL_COMMON_DESKTOPDIRECTORY' must be initialized
: [C++ Error] shellctrls.cpp(19): E2304 Constant variable 'CSIDL_COMMON_PROGRAMS' must be initialized
: [C++ Error] shellctrls.cpp(19): E2304 Constant variable 'CSIDL_COMMON_STARTMENU' must be initialized
: [C++ Error] shellctrls.cpp(20): E2304 Constant variable 'CSIDL_COMMON_STARTUP' must be initialized
: [C++ Error] shellctrls.cpp(20): E2304 Constant variable 'CSIDL_CONTROLS' must be initialized
: [C++ Error] shellctrls.cpp(20): E2304 Constant variable 'CSIDL_DESKTOPDIRECTORY' must be initialized
: [C++ Error] shellctrls.cpp(20): E2304 Constant variable 'CSIDL_FAVORITES' must be initialized
: [C++ Error] shellctrls.cpp(21): E2304 Constant variable 'CSIDL_FONTS' must be initialized
: [C++ Error] shellctrls.cpp(21): E2304 Constant variable 'CSIDL_INTERNET' must be initialized
: [C++ Error] shellctrls.cpp(21): E2304 Constant variable 'CSIDL_PERSONAL' must be initialized
: [C++ Error] shellctrls.cpp(21): E2304 Constant variable 'CSIDL_PRINTERS' must be initialized
: [C++ Error] shellctrls.cpp(21): E2304 Constant variable 'CSIDL_PRINTHOOD' must be initialized
: [C++ Error] shellctrls.cpp(22): E2304 Constant variable 'CSIDL_PROGRAMS' must be initialized
: [C++ Error] shellctrls.cpp(22): E2304 Constant variable 'CSIDL_RECENT' must be initialized
: [C++ Error] shellctrls.cpp(22): E2304 Constant variable 'CSIDL_SENDTO' must be initialized
: [C++ Error] shellctrls.cpp(22): E2304 Constant variable 'CSIDL_STARTMENU' must be initialized
: [C++ Error] shellctrls.cpp(22): E2304 Constant variable 'CSIDL_STARTUP' must be initialized
: [C++ Error] shellctrls.cpp(23): E2304 Constant variable 'CSIDL_TEMPLATES' must be initialized
: [C++ Error] shellctrls.cpp(23): E2141 Declaration syntax error
: [C++ Error] shellctrls.cpp(23): E2190 Unexpected }
: [C++ Error] shellctrls.cpp(23): E2228 Too many error or warning messages
: [Linker Fatal Error] Fatal: Unable to open file 'SHELLCTRLS.OBJ'
:
:
: 어떻게해야 설치를 할 수 있나요?
|