Всякий раз, когда я создаю новый проект в Visual Studio 2010 и не устанавливаю определенную платформу (в моем случае x64), сначала я не смогу полностью изменить ее. Итак, я настраиваю все, что нужно, с внешней библиотекой (скомпилировано как x64), а затем нажмите, чтобы скомпилировать ее, очевидно, не удалось, так как две платформы не совпадают.Как заставить Visual Studio 2010 использовать x64?
sfml-graphics-s-d.lib(RenderStates.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
Заметили, что я изменить его на x64 с Build-> Конфигурация-Manager-> Активный projectplattform-> New> ...- 64. Это то же самое, что я сделаю, прежде чем делать что-нибудь еще, и это работает, но если я сделаю это потом я получаю сообщение об ошибке компоновщика:
libcpmtd.lib(uncaught.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
The * .obj файл может меняться от проекта к проекту (например, соиЬ. obj), и из моего понимания Visual Studio выбирает стандартную библиотеку x86 и не изменяет ее решение после того, как я переключил платформу.
Так что на вопрос: как заставить VS использовать новую указанную платформу x64 - также для стандартной библиотеки?
Примечание: Создание новой настройки конфигурации автоматически изменит настройки компоновщика для целевой машины: MachineX64 (/MACHINE:X64)
Примечание: Не уверен, если это отношение, но я связывающая библиотеки времени выполнения статически Multithreaded-Debug (/MTd)
Похоже, эта проблема: http://stackoverflow.com/a/2850513/1262104 – Mesop
Я уже делал то, что они там предлагают, но компоновщик находит где-то файлы .obj, скомпилированные для x86 вместо x64. – Lukas
Вы уверены, что используете x64 .libs? Похоже, вы пытаетесь использовать x86 libs с исполняемым файлом x64. – David