2011-03-11 7 views
1

C# GUI를 사용하여 .NET .DLL로 래핑 된 네이티브 .DLL 라이브러리를 사용하는 솔루션이 있습니다.디버그 모드가 작동합니다. 릴리스 모드로 인해 ERROR가 많이 생성됩니다!

내 모든 배관 작업은 디버그 모드에서 올바르게 작동합니다. Release 모드로 들어가기 위해, 나는 네이티브 라이브러리에있는 .CPP 파일들과 대부분 관련된 에러 메시지를 얻는다. 오류는 다음과 같습니다 :

  1. TRACE_DEBUG_METHOD_CALL 허용되지 같이 DllImport 기능의 정의 : (: DLLAPI_Release : 선언되지 않은 식별자 등)
식별자는
  • 내 주요 .CPP 파일에 선언되지 않은 식별자를 많이 찾을 수 없음

    C/C++ 프로젝트의 등록 정보 구성이 너무 많아서 간단히 수정할 필요가있는 하나 이상의 간단한 설정이 있는지 궁금합니다.

    또한 VS2010의 프로젝트 속성 창에 특별히 적용되는 책이 있습니까? 나는 몇 권의 책을 가지고 있지만 진실한 앱 개발에있어 매우 중요한 구성 요소 인 것에 대해서는 아무도 정말로 지출하지 않습니다.

    누구든지 제공 할 수있는 도움을 주셔서 감사합니다. 감사!

  • +0

    그래서 VC++은 강력합니다. 구성 속성이 많이 있습니다.:) 무엇이든 대답 할 수 있으려면 적어도 네이티브 DLL에서 엔티티를 내보내거나 가져 오는 방법을 보여 주어야합니다. –

    +0

    어리석은 질문 일 수도 있지만 실제로 릴리스 모드로 변경 한 후에 솔루션을 구축하려고 시도한 적이 있습니까? 때로는 모드를 전환 할 때 많은 오류가 발생하지만 빌드가 완료되면 바로 사라집니다. –

    답변

    1

    속성 페이지를 비교하려고 시도하면 문제가 될 수 있습니다. 내 권장 사항은 프로젝트의 속성 페이지를 열고 디버그 구성을 선택하고 "C/C++"에서 "명령 줄"을 선택하고 명령 줄 옵션을 텍스트 편집기에 복사 한 다음 릴리스 구성에 대해 동일한 작업을 수행하는 것입니다 그들이 다른 점을 확인하십시오. "링커"명령 줄에서도 똑같이해야합니다.

    차이점 중 일부는 의도적입니다 (예 : 디버그 설정은 디버그 구성에 설정해야 함).하지만 같지 않아야하는 사항을 찾아 낼 수 있어야합니다.

    실제로 명령 줄 옵션이 설정된 위치를 추적하면 약간의 어려움이있을 수 있습니다. 특히 속성 시트를 사용하여 프로젝트간에 공통 속성을 관리하는 경우에는 일반적으로 살펴보아야합니다. 다른 페이지의 다른 옵션.

    참조 용으로 MSDN의 실제 컴파일러 설명서를 참조하십시오. 섹션이 all of the documented compiler options이고 섹션이 all of the documented linker options 인 섹션이 있습니다.

    속성 페이지는 이러한 다양한 옵션을 설정하기위한 GUI 프론트 엔드입니다. 속성 페이지에서 속성 중 하나를 선택하면 대화 상자 아래쪽의 도움말 상자에 해당 속성에서 사용되는 컴파일러 옵션이 표시됩니다.

    2

    변경 사항을 많이 만들었지 만 릴리스 빌드에도 변경 사항을 적용하지 않은 경우에는 발생하지 않을 것입니다. 어쨌든 잊을 수 있습니다. 기본 설정에서 변경된 설정을 쉽게 알 수 있으며 굵은 체로 표시됩니다. 설정 페이지를 통해 단계별로 왼쪽 상단에있는 구성 콤보 박스로 앞뒤로 움직여보십시오.

    릴리스 빌드의 경우 이어야하기 때문에 생각한 시간은 계산하지 않고 약 15 분입니다. 이를 확인하기 위해 더미 프로젝트로 Visual Studio의 다른 인스턴스를 시작하십시오.

    +0

    대단히 감사합니다. 디버그 구성에서 설정된 릴리스 구성에서 선행 처리기가 누락되었습니다. 트레이스 포인트를 사용하여 대체 할 일부 디버깅에 #define 충돌이 있습니다. 모두 지금 일하고 있으며 매우 안심입니다. 다시 한 번 감사드립니다! –

    관련 문제