이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
컴파일러 문제 해결
컴파일러 버전 불일치 오류
설명
빌드 과정에서 컴파일러 버전 불일치 오류가 발생합니다.
작업
www.mathworks.com/support/compilers/current_release/에서 지원 및 호환되는 컴파일러 목록을 확인하십시오.컴파일러를 업그레이드하거나 변경하십시오. 자세한 내용은 Choose and Configure Compiler 항목을 참조하십시오.
모델을 다시 생성하십시오.
모델 시뮬레이션 결과와 실행 프로그램 결과가 다르다
설명
해당 모델에 대해 생성된 프로그램은 모델 시뮬레이션 결과와 다른 결과를 산출합니다. 생성된 소스 코드에는 부호 있는 정수 오버플로우를 유발하는 산술 연산이 포함되어 있습니다. 사용 중인 컴파일러가 부호 있는 정수의 오버플로 상황에 대한 감싸기 동작을 구현하지 않았을 가능성이 있습니다. 또는, 래핑을 지원하는 컴파일러를 사용하고 있다면, -fwrapv 옵션을 사용하도록 설정하지 않았을 가능성이 있습니다.
자세한 내용은 C Compiler Considerations for Signed Integer Overflows 항목을 참조하십시오.
작업
사용 중인 컴파일러에서 줄 바꿈 동작을 강제할 수 있다면, 이 기능을 활성화하세요. 예를 들어, gcc 컴파일러나 MinGW와 같이 gcc를 기반으로 하는 컴파일러의 경우,
-fwrapv컴파일러 옵션을 지정하십시오.정수 오버플로우를 검사하는 컴파일러를 선택하십시오.
Embedded Coder®를 사용 중이라면, 부호 있는 정수를 위해 생성된 코드를 대체할 코드 대체 라이브러리를 개발하여 적용하십시오.
코드 생성 및 산출
설명
빌드 과정에서는 예상된 소스 코드가 생성되지만, 실행 프로그램은 예상치 못한 결과를 나타냅니다. 생성된 소스 코드는 예상대로 표시됩니다. 그러나 이 실행 프로그램은 예상치 못한 결과를 나타냅니다.
작업
다음 중 하나를 수행하십시오:
컴파일러 최적화 수준을 낮추세요.
컴파일러 최적화 수준 파라미터를
사용자 지정로 설정하십시오.사용자 지정 컴파일러 최적화 플래그 필드에 더 낮은 최적화 수준을 지정하십시오.
모델을 다시 생성하십시오.
컴파일러 최적화를 비활성화하십시오.
컴파일러 최적화 수준를
최적화 끄기(더 빠른 빌드)로 설정하십시오.모델을 다시 생성하십시오.
자세한 내용은 Control Compiler Optimizations 및 사용 중인 컴파일러 설명서를 참조하십시오.
컴파일타임 문제
| 문제 | 작업 |
|---|---|
컴파일러 구성에 오류가 있습니다. | MATLAB®가 사용하고자 하는 컴파일러와 버전을 지원하는지 확인하십시오. 현재 지원 및 호환되는 컴파일러 목록은 |
make 유틸리티, 컴파일러 또는 링커에 대한 환경 변수가 올바르게 설정되지 않았습니다. 예를 들어, Windows 플랫폼에 Cygwin 툴을 설치하면 다른 컴파일러에서 사용하는 환경 변수에 영향을 미칩니다. | Windows 플랫폼에서는 |
S-Function 블록 또는 사용자 지정 코드로 지정된 사용자 지정 코드에 오류가 있습니다. 예를 들어, 이 코드는 컴파일러가 찾을 수 없는 헤더 파일을 참조하고 있습니다. | 문제의 원인을 파악하려면 모델에서 사용자 지정 코드를 제거한 다음, 디버깅을 수행하고 모델을 다시 빌드하십시오. |
이 모델에는 현재 선택된 시스템 타깃 파일과 함께 사용하도록 의도되지 않은 블록(예: 장치 드라이버 블록)이 포함되어 있습니다. | 시스템 타깃 파일별 블록을 제거하거나, 다른 시스템 타깃 파일과 함께 사용할 수 있도록 모델을 구성하십시오. |
모델 빌드 과정에서 모델 참조 계층 구조를 기반으로 실행 프로그램을 생성할 때, 다음 조건이 모두 충족되면 데이터에 대한 정의되지 않은 참조와 관련된 링커 오류가 발생합니다:
| 이 문제를 해결하려면 데이터 객체에서 |
참고 항목
도움말 항목
- Choose and Configure Compiler
- C 또는 C++ 프로그래밍 언어를 선택하세요
- Simulink 모델로부터 생성된 코드의 빌드에 대한 접근법
- Build Process Workflow for Real-Time Systems
- 모델 재빌드
- 병렬 빌드를 사용하여 참조 모델의 빌드 시간 단축
- Control Regeneration of Top Model Code
- Relocate or Share Generated Code
- Control Compiler Optimizations
- Select and Configure C or C++ Compiler