2013-06-21 3 views
5

C++에서 비표준 라이브러리를 사용할 때 라이브러리 이름을 링커 -> 입력 -> 추가 종속성에 추가해야합니다. 그러나 대안은 쓸 것입니다Pragma comment C++

#pragma comment(lib , "library name") 

이 두 방법은 완전히 동일합니까?

+9

두 번째는 실제로 MSVC에서만 작동합니다. GCC는 지원하지 않는 것들에 대해서 무시하는 것만으로도 이익을 얻을 수 있습니다. 적어도 GCC는 당신이 그것을 켜면 경고합니다. – chris

+0

나는 가정이 "windows msvc"이거나 적어도 적어도 – 4pie0

+0

이되어야한다고 생각한다.이 질문은 아마도 MSVC에만 해당된다는 것을 나타 내기 위해 다시 태그해야한다. 그래도 사용할 태그가 무엇인지 잘 모르겠습니다. –

답변

5

그렇지 않습니다.

상기 프라그마는 defaultlib을 추가합니다. 옵션은 링커 라인에 대한 필수 lib입니다.

후자는 무엇이든지 상관없이 처리되며 누락 된 경우 오류가 발생합니다. 기본 lib가 없으면 자동으로 무시됩니다. 옵션 "default libs 무시"또는 "특정 기본 lib 무시"옵션을 사용하여 해당 사용이 없어지더라도 해당 사용을 해제 할 수 있습니다.

+0

재미 있습니다. 그것은 내가 생각하기에 유용 할 수있다. – chris

0

동일한 작업을 수행하는 두 가지 방법이 있습니다. 즉 링커가 찾고자하는 링커에게 알리는 컴파일러입니다. #pragma comment에는 컴파일러 정보 나 기타 메타 데이터와 같은 데이터를 객체 파일에 추가하는 것과 같은 다른 기능이 있습니다.

#pragma comment는 VC++ 전용입니다.

관련 문제