저는 x86 용 라이브러리 (poco-1.3.6p2-all, 그게 무슨 가치가 있는지)를 만들고 싶습니다. 방금 새 (깨끗한) Windows 7 64 비트 컴퓨터를 설치하고 Visual Studio 2008 Standard를 설치했습니다. 이 상자에 지금까지 설치 한 것은 설치 오류입니다.x64 (Visual Studio 2008) 환경에서 x86 코드 빌드?
동일한 라이브러리가 VS 2008 Standard가 설치된 Windows XP 32 비트 시스템에 완벽하게 구축되었습니다. 오, 예, 관리되지 않는 C++입니다.
내가 얻는 오류는 프로젝트의 개별 DLL 링크마다 있습니다. 예 :
1>.\obj\debug_shared\CppUnitException1.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
해당 라이브러리는 .cmd 파일 빌드 스크립트에서 호출 한 .vcproj 파일로 작성됩니다. 링커가 86를 보는 것을
/OUT:"..\bin\CppUnitd.dll" /INCREMENTAL /NOLOGO /DLL /MANIFEST /MANIFESTFILE:".\obj\debug_shared\CppUnitd.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"..\bin\CppUnitd.pdb" /DYNAMICBASE /NXCOMPAT /IMPLIB:"..\lib\CppUnitd.lib" /MACHINE:X86 /ERRORREPORT:PROMPT
그것은 (나에게) 나타납니다
이/Od /I "include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CppUnit_EXPORTS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0710" /D "_WINDLL" /D "_AFXDLL" /D "_MBCS" /GF /FD /EHsc /RTC1 /MDd /Fo".\obj\debug_shared/" /Fd".\obj\debug_shared/vc80.pdb" /W3 /nologo /c /ZI /errorReport:prompt
프로젝트 옵션의 링커 명령 줄은 다음과 같습니다처럼
컴파일러 옵션 (명령 줄) 볼 개체 파일이지만 명령 줄 옵션이 올바른 경우에도 x64 모드에서 호출됩니다.
타겟이 x64가 아닌 32 비트/x86 유형이어야합니다.
이 문제를 해결할 수있는 Visual Studio 옵션이 있습니까?
어디서? 탭이나 빌드라는 섹션이 보이지 않습니다. 속성 | 링커 | 고급 옵션 인 대상 머신이 MachineX86으로 설정됩니다. –
아마도 C#보다 C++ 솔루션의 속성이 다를 것입니다. 다른 것들은 사용할 수 있습니까? –
링커 옵션의 경우 관련 옵션 중 유일하게 나타납니다. –