C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74676] Re:SBSimpleSftp.hpp, Sbwincrypt.hpp 파일도 올려 놓았습니다. 제발 해결이 되기를...~~!!
[] 3392 읽음    2017-11-24 11:45
파일다운 안되는데요


단단한돌 님이 쓰신 글 :
: SBSimpleSftp.hpp, Sbwincrypt.hpp 파일도 올려 놓았습니다. 제발 해결이 되기를...~~!!
:
:  님이 쓰신 글 :
: : Sbwincrypt.hpp 파일도 업로드 해야할 듯 한데요
: :
: :
: : 단단한돌 님이 쓰신 글 :
: : : 환경: C++ Builder XE5
: : :
: : : 사용 Component:
: : :   - UI Component   : Button, Panel, TImage, TListView,.... 화면 UI Component들..
: : :   - Indy Compnent  : IndyFTP, IndyTCPServer, IndyTCPClient
: : :   - SFTP Component : SecureBlackBox SFTP Component (상용)
: : :
: : : 기존의 프로젝트에 SFTP(SecureFTP) 기능이 필요하여 SecureBlackBox라는 Component를 추가하였습니다.
: : : 추가한 Compnent가 기존 프로텍트의 Library와 여기저기 충돌을 일으켜서 다량의 Compile Error를 만들어 냅니다.
: : : Build Order와 Include 순서를 조정해서 Compile Error를 잡았는데, 이것 하나만은 끈질기게 해결이 되지 않고 있습니다.
: : :
: : : 에러 메세지를 보면 CERT_NAME_BLOB 라는 이름이 SecureBlackBox Component(SbwinCrypt.hpp)에서 정의되고,
: : : Windows SDK의 Header 파일인 <iphjlpapi.h>에서도 정의되어 사용되고 있습니다.
: : : <iphlpapi.h> 파일은 시스템의 라우팅 정보를 가져오는 함수들이 정의되어 있습니다.
: : : 이 두개의 Header 모두 프로그램 운영에는 필요한 상태입니다.
: : :
: : : 에러를 보면 GardnetThread.cpp의 컴파일 과정에서 <iphlpapi.h>을 include 하기 전에,
: : : "UnitMain.h"를 Include하게 되는데, 그 안에서 "SBSimpleSftp.hpp"를 include 하게 되고,
: : : "SBSimpleSftp.hpp"의 include를 따라 가서 "Sbwincrypt.hpp"까지 include하게 되는데,
: : : "Sbwincrypt.hpp"의 내용이 <iphlpapi.h>에서 include하는 <mprapi.h>의 선언부와 충돌됩니다.
: : :
: : : 'CERT_NAME_BLOB','CRYPT_HASH_BLOB' 이 두 개의 이름이 중복된다는 결론입니다.
: : :
: : : 이 두개의 include 순서를 뒤바꾸면, 더 엄청난 Compile error가 튀어 나옵니다.
: : :
: : : 충돌을 회피할 수 있는 방법은 어떤 것이 있을까요?
: : :
: : : 2주째 이 문제로 씨름 중입니다. Help~~~~!!
: : :
: : : [부언 설명]
: : : GardnetThread.cpp -----------> UnitMain.h ------------->SBSimpleSftp.hpp
: : : (iphlpapi.h include)                                    (Sbwincrypt.hpp include)
: : :
: : : - <iphlpapi.h> --> include --> <mprapi.h>
: : : - <SBSimpleSftp.hpp> --> include --> <Sbwincrypt.hpp> 두 개의 파일에서 충돌..
: : :
: : :
: : : //------------------------------------------------------------------------
: : : // compile error 내용 
: : : [bcc32 Error] mprapi.h(1273): E2015 Ambiguity between 'CERT_NAME_BLOB' and 'Sbwincrypt::CERT_NAME_BLOB'
: : :   Full parser context
: : :     GuardnetThread.cpp(13): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\iphlpapi.h   // 이  Header 파일이 문제를 발생
: : :     iphlpapi.h(34): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\iprtrmib.h
: : :     iprtrmib.h(38): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\mprapi.h
: : :     mprapi.h(1266): class _IKEV2_TUNNEL_CONFIG_PARAMS
: : : [bcc32 Error] mprapi.h(1309): E2015 Ambiguity between 'CRYPT_HASH_BLOB' and 'Sbwincrypt::CRYPT_HASH_BLOB'
: : :   Full parser context
: : :     GuardnetThread.cpp(13): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\iphlpapi.h
: : :     iphlpapi.h(34): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\iprtrmib.h
: : :     iprtrmib.h(38): #include c:\program files (x86)\embarcadero\rad studio\12.0\include\windows\sdk\mprapi.h
: : :     mprapi.h(1306): class _SSTP_CERT_INFO
: : : 
: : : //------------------------------------------------------------------------
: : : // 파일의 내용
: : : $Embacadero_HOME\rad studio\12.0\include\windows\sdk\mprapi.h
: : : ..
: : : typedef struct _IKEV2_TUNNEL_CONFIG_PARAMS {
: : :     DWORD                       dwIdleTimeout;
: : :     DWORD                       dwNetworkBlackoutTime;
: : :     DWORD                       dwSaLifeTime;
: : :     DWORD                       dwSaDataSizeForRenegotiation;
: : :     DWORD                       dwConfigOptions;
: : :     DWORD 	                dwTotalCertificates;
: : :     CERT_NAME_BLOB *            certificateNames;           // conflict 발생, 정의는 그전에 있음. 
: : : }IKEV2_TUNNEL_CONFIG_PARAMS, *PIKEV2_TUNNEL_CONFIG_PARAMS;
: : : 
: : : 
: : : //------------------------------------------------------------------------
: : : //  파일의 내용 
: : : $SecureBlackBox_HOME\Units\CBuilderXE5\SbwinCrypt.hpp
: : : 
: : : ...
: : : typedef CRYPTOAPI_BLOB CERT_NAME_BLOB;     // Conflict 발생 
: : : typedef CRYPTOAPI_BLOB *PCERT_NAME_BLOB;
: : : ...
: : : 
: : : //=======================================================================
: : : //  include 관계
: : : #include 
: : : #pragma hdrstop
: : : 
: : : #include "GuardnetThread.h"
: : : #include "UnitMain.h"        // UnitMain.h에서  SecureBlackBox SFTP Component include함. 
: : : #include "LockeCommon.h"
: : : #include "Env.h"
: : : #include "Thrdqueue.h"
: : : 
: : : #include         // conflict 발생.. 
: : : #pragma comment(lib, "iphlpapi.lib")
: : : #pragma package(smart_init)
: : : 
: : : TGuardnetThread *thrdGuardnet;
: : : ...
: : : 
: : : //=======================================================================
: : : // UnitMain.h 파일의 include 관계
: : : #ifndef UnitMainH
: : : #define UnitMainH
: : : 
: : : #include 
: : : #include 
: : : #include 
: : : #include 
: : : ...// VCL Library Header 
: : : 
: : : #include "SBSimpleSftp.hpp"     // SecureBlackBox SFTP Component include
: : :                                 // Indy Component 뒤에서 Include 하면 또다른 compile error 
: : : #include 
: : : #include 
: : : #include 
: : : #include 
: : : ...//Indy Library Header
: : : #include 
: : : ...// DBExpress Header 
: : : 
: : : #include "AdPort.hpp"
: : : #include "OoMisc.hpp"
: : : ...// other header include
: : : 

: : :
: : : namespace를 지정하여 해결하는 방법이 있을까요?
: : :
: : :

+ -

관련 글 리스트
74671 [질문] E2015 Ambiguity between 'CERT_NAME_BLOB' and 'Sbwincrypt::CERT_NAME_BLOB' 다시 정리.. 단단한돌 3400 2017/11/22
74672     Re:[질문] E2015 Ambiguity between 'CERT_NAME_BLOB' and 'Sbwincrypt::CERT_NAME_BLOB' 다시 정리.. 3612 2017/11/23
74673         SBSimpleSftp.hpp, Sbwincrypt.hpp 파일도 올려 놓았습니다. 제발 해결이 되기를...~~!! 단단한돌 3366 2017/11/23
74676             Re:SBSimpleSftp.hpp, Sbwincrypt.hpp 파일도 올려 놓았습니다. 제발 해결이 되기를...~~!! 3392 2017/11/24
74677                 다시 올려 놓았습니다. 감사합니다.~! 단단한돌 3644 2017/11/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.