2011-12-30 4 views
1

인사말 동료 프로그래머! 다른 프로젝트에서 사용할 C++ 라이브러리를 만들려고합니다. 이 라이브러리는 다른 프로젝트에 링크 될 정적 라이브러리입니다.정적 C++ 라이브러리 생성 문제

문제점 : 컴파일러는 Project-> Properties> General에서 실행 가능 프로그램으로 구성된 경우 그렇지 않은 오류를 catch하지 않는 것처럼 보입니다. 사실 나는 의도적으로 구문 오류를 만들었고 컴파일러는 에 관계없이 성공했다.

정적 라이브러리를 빌드하는 동안 컴파일러가 모든 것을 검사하도록 강제 할 수 있습니까?

빌드 환경 : 비주얼 스튜디오 2010

편집 : 그것이 나오는 것에 따라, 그것은 오히려 간단하지만 매우 미묘한 실수였다. Visual Studio에서 내 .cpp 파일 중 일부를 헤더 파일로 취급하고있는 것으로 나타났습니다. 이 때문에 컴파일러는 코드를 전혀 실행하지 않았습니다 (아무도 .cpp 파일을 포함하지 않습니다). 라이브러리에 파일을 추가 할 때 실수로 C++ 파일 대신 헤더를 선택해야합니다. Visual Studio에서 헤더 파일의 이름 만 바꿀 것이라고 생각했습니다. 나는 틀렸어!

답변

4

이것은 무의미한 내용입니다. 그것은 일어날 수 없다. 아마도 은 컴파일러가 소스 파일 (구문 오류가있는 파일)을 컴파일하지만 실제로는 컴파일하지 않는다고 생각하면이 발생합니다. 프로젝트에 소스 파일을 추가하지 않은 것 같습니다.

(다시, C++ 꽤 기발한 구문은, 난 당신이 당신이 만든 것은 사실 구문 오류, 그리고 구문 적으로 유효한 언어 구조임을 확인 바랍니다.)

+3

+1은 C++의 구문 이상입니다. '??! ??!'(예 :'do_something() ??! ?? log_error();')를 사용하여 "WTF 연산자"라고 불리는 것을 쓸 수 있다면 의도적 인 구문 오류가 있는지 진실로 구문 오류. –

0

가 두 개 이상있는 경우를 프로젝트를 exe 및 lib와 같은 작업 공간 (솔루션)에 배치하려면 정확한 프로젝트를 클릭하여 빌드하거나 시작 프로젝트로 설정하십시오 (굵은 글씨로 표시).