2015-01-12 3 views
0

Effects11.lib와 Effects11d.lib를 사용하는 프로젝트가 있는데 프로젝트를 빌드 할 때 "L __MSC_VER '오류 : 1600 '값이'1800 '값과 일치하지 않습니다. 그리고 내가 찾은 바에 따르면 이것은 .lib가 내가 사용하고있는 것과 다른 버전의 VS 용으로 만들어졌으며 다시 컴파일해야한다는 것을 의미합니다. 문제는 어떻게해야할지 모르겠다. 전에 lib를 다시 컴파일하지 않아도됩니다.Visual Studio 2013에서 .lib를 다시 컴파일하는 방법

+0

소스 코드로 시작합니다. –

답변

1

이 책의 저자 사이트를 통해 보면 @ ​​http://www.d3dcoder.net/d3d11.htm은 Effects11.lib가 Ms-P1 라이선스가있는 소스 코드 인 것처럼 보입니다. 다음

있는 프로젝트 파일을 갖고있는 것 같아요

https://fx11.codeplex.com/releases/view/150822

에서 해당 라이브러리의 소스에 대한 다운로드를 가지고

https://fx11.codeplex.com/

로 연결

http://msdn.microsoft.com/en-us/library/windows/desktop/ff728664(v=vs.85).aspx

당신이 사용하고있는 VS2013로 빌드 가능하므로 bs2013의 effects.lib를 빌드하고 개발을 계속할 수 있습니다.

다른 방법으로 자신의 웹 페이지에서 저자 자신에게 연락하여이 문제를 해결할 수있는 유일한 사람이 아닌 것처럼 그가이를 수행하고 링크 할 수 있는지 확인하십시오.

+0

감사합니다. 이것은 내 문제를 해결 한 것 같습니다. 나는 정정하기 위해 1 개의 다른 오류가있다. 그러면 잘하면 내 프로그램을 실행할 수있다. – Desenski

0

.lib 파일을 다시 컴파일하려면 먼저 소스 코드가 있어야합니다. 그런 다음 라이브러리 프로젝트의 vcproject를 열고 설정을 변경하면 다시 컴파일 할 수 있습니다. 또한 웹에서 일부 유형의 C++의 경우 재 컴파일을 위해 라이브러리 디렉토리에 생성 된 .o 파일을 삭제해야합니다. 그러나 컴파일러에 적용되는지 여부는 알 수 없습니다. 이 질문에 대한 답변이되기를 바랍니다.

+0

그렇다면 .lib 파일 만 있으면이 오류를 어떻게 해결할 수 있습니까? – Desenski

+0

음 ... 나는 소스 코드 없이는 컴파일 할 수 없다고 생각한다. 나는 틀릴 수 있었다. – bobtheboy

+0

소스 코드를 직접 볼 수 있는지 확인하십시오. 당신이 가진다면 모든 것이 훨씬 쉬울 것입니다. – bobtheboy

0

정적 라이브러리는 VS 2010으로 작성되었지만 VS 2013을 사용하고 있습니다. 링크 오류가이를 알려줍니다.

이 경우 픽스는 CodePlex의 Effects 11 사이트를 방문한 다음 VS 2013 컴파일러와 함께 Effects 11의 새로운 복사본을 만드는 것입니다. 또는 VS 2013 용으로 빌드 된 동일한 버전 인 NuGet 패키지 을 사용할 수 있습니다.

다소 오래 된 Luna 서적이있는 Windows 8.1 SDK가 포함 된 VS 2013을 사용하는 경우, 비추천의 D3DX11 라이브러리의 사용 확실히 VS 2013으로 그렇게 할 수는 있지만 프로젝트를 포함 시키려면 include/lib 경로를 약간 조정해야합니다. MSDN을 참조하십시오. CodePlex 또는 NuGet의 Effects 11 라이브러리 버전은 기존 DirectX SDK에 전혀 종속되지 않습니다.

해당 도서에 대한 일반적인 참고 사항이 있습니다. here.

D3DX11 대체품의 전체 목록은 Living without D3DX을 참조하십시오.

관련 문제