Проект VS2008 компилирует только 1 файл C ++ в x64 target - PullRequest
0 голосов
/ 29 сентября 2011

Это очень странно, так как в основном все компилируется хорошо, но этот один проект (основной проект DLL, который связан во многих проектах библиотеки) просто отказывается. Он компилирует только CK20_Test.cpp, затем переходит к ссылке. Если я исключу это, он компилирует только DebugInfo.cpp и ссылки. И так далее.

Если я переключаюсь на Win32 target, он все прекрасно компилирует.

Microsoft Visual Studio 2008 Версия 9.0.21022.8 RTM, Microsoft .NET Framework, Версия 3.5 SP1, Microsoft Visual C ++ 2008 91605-130-0691883-60531

и множество стандартных исправлений.

1>------ Rebuild All started: Project: XMD, Configuration: DebugR x64 ------
1>Deleting intermediate and output files for project 'XMD', configuration 'DebugR|x64'
1>Compiling...
1>stdafx.cpp
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Linking...
1>LINK : D:\prj\alpha\64\shared\x64\DebugR\XMDCore.dll not found or not built by the last incremental link; performing full link
1>Embedding manifest...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Build log was saved at "file://d:\prj\alpha\64\shared\xmd\x64\DebugR\BuildLog.htm"
1>XMD - 0 error(s), 0 warning(s)
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

Редактировать: настроен другой компьютер. Та же проблема. Я чувствую, что файл проекта должен быть поврежден (см. Мой комментарий ниже по содержанию), или компилятор испорчен. Но я не могу себе представить, что бы я сделал, чтобы сломать его.

1 Ответ

0 голосов
/ 30 сентября 2011

Проблема решена!Параметр имени файла выходного файла C ++ (/ Fo) был $ (IntDir).

Когда я компилирую в x64, программа сгенерировала DebugR.obj.В компиляторах Win32 тот же параметр создает DebugR \ $ (InputName) .obj.

Аналогично для конфигурации выпуска или отладки.

Решение: Измените $ (IntDir) на $ (IntDir) \

...