2009-10-30 5 views
11

Visual Studio에서 빌드하는 DLL 빌드를 다른 빌드 시스템으로 이식해야합니다. DLL 솔루션은 저에게 만들어지지 않았습니다. 수정 된 커맨드 라인 스위치가 많이 있습니다. Visual Studio의 컴파일러/링커 옵션을 복사했습니다.Visual Studio에서 정확한 컴파일러 명령 줄을 얻으려면 어떻게해야합니까?

프로젝트 속성 -> 구성 속성 -> C/C++ -> 명령 Line 프로젝트 속성 -> 구성 속성 -> 링커 -> 명령 줄

그러나 다른 빌드 도구에서 DLL을 빌드하면 (그리고 간단한 배치 파일을 사용해도) DLL의 크기가 약간 다릅니다 DLL이 사용될 때 (때로는 스튜디오에서 빌드하지 않은) 크래시가 발생합니다.

그래서 제 질문은 : 마주 스튜디오 속성 페이지에 무엇보다 정확한 명령 행을 볼 수있는 더 좋은 방법은

  1. 있습니까?

  2. 이 마주 스튜디오는 명령 행에서 무슨 일이 일어나고 있는지를 벗어난 미친 마술을 할 수 있는가 (나는이에 대한 대답이 더 희망 없다!) 명심해야 할

답변

9

뭔가 :-) 그 명령 줄입니다 옵션은 프로젝트 당뿐만 아니라 소스 파일마다 설정할 수도 있습니다. 이는 누락 된 것일 수 있습니다.

진행중인 모든 작업을 보는 한 가지 방법은 빌드 로그를 보는 것입니다. 출력보기에서 빌드가 끝나면 다음과 같은 행이 표시됩니다.

"파일 경로"에 빌드 로그가 저장되었습니다.

출력보기에서 파일 경로를 Ctrl- 클릭하면 로그 파일이로드되고 각 파일의 모든 명령 줄이 표시됩니다.

업데이트 :

이 답변 당신은 더 이상 비주얼 스튜디오의 최신 버전에서 출력 창에서 링크를 얻을 비주얼 스튜디오 2008에 대한했다. 대신 프로젝트의 빌드 디렉토리로 이동하여 로그 파일을 확인해야합니다. 여기를 참조하십시오 :

https://msdn.microsoft.com/en-us/library/jj651643.aspx

가 실제로 링크가 약간 잘못된 것입니다. 로그 파일의 확장자는 .txt가 아니라 .log입니다.

+0

감사합니다. 나는 빌드 로그에서 내 문제를 알아 냈다. 나는 모든 컴파일/링크 스위치를 정확하게했지만 런타임에 링크하지 못하게 만드는 DLL에 매니페스트를 추가하지 않았습니다. 나는 리눅스 배경에서 왔기 때문에 DLL과 모든 복잡한 내용을 너무 잘 알지 못했습니다. – Benj

+0

나는 그것을 볼 수 없다. 내가 얻는 것은 "로그가 파일 경로에 저장되었습니다"부분이 없도록 만들어진 exe에 대한 링크입니다. –

+0

@ BryceSandlund 상태로, 빌드 출력이 항상 로그 파일 경로를 제공하지는 않습니다 (필자도 로그를 쓰는 것조차 의심 스럽습니다). 그러나 당신은 귀하의 UI에서 자세한/디버그 출력을 가질 수 있습니다 : 메뉴 도구> 옵션; 프로젝트 및 솔루션> 빌드 및 실행> MSBuild 프로젝트는 자세한 결과물을 생성합니다. 개인적으로는 'Detailed'로그를 사용하도록 권하고 싶습니다. 일반적으로 원하는 정보를 제공해야합니다. –

관련 문제