Я просто добавляю это для записи, на случай, если кто-то еще получит эту проблему в будущем.
У нас была похожая проблема с большим смешанным проектом FORTRAN / C ++, повторяющим, изменилось ли что-нибудь или нет. Кажется, это началось, когда решение было обновлено с VS2008 до 2010, хотя никто не мог вспомнить.
В конце концов, я серьезно взглянул на это (это раздражало, но не достаточно, чтобы что-то сделать). По процессу исключения я нашел решение:
Удалите все кавычки в «Дополнительных библиотечных каталогах» проекта FORTRAN верхнего уровня (то есть того, который делает исполняемый файл).
Я бы сам не поверил в это без доказательств, поэтому, если у вас есть желание воспроизвести эту ошибку самостоятельно:
- Открыть новый сеанс VS2010.
- Создайте новый проект FORTRAN, который делает исполняемый файл.
- Оставьте его пустым, но свяжите его с не встроенным файлом lib (т.е. одним из ваших) и добавьте каталог вашей библиотеки в каталоги дополнительных библиотек.
- Проверьте правильность компиляции и ссылок.
- Теперь попробуйте добавить двойные кавычки (") вокруг каталога и несколько раз нажмите" Построить ". Если ваша сессия похожа на мою, то она будет каждый раз связываться. Когда вы удаляете кавычки, она останавливается.
Это только кажется проблемой в проекте верхнего уровня, и когда эти проекты FORTRAN - кавычки не влияют на проекты C ++ или те, которые создают библиотеки.
Перекомпоновка не происходит, если VS не нуждается в поиске библиотек (например, если все ваши библиотеки встроены, например, kernel32.lib), но будет происходить независимо от того, находится ли ваша библиотека в каталоге, в котором есть кавычки или другой.
Если кто-то может оправдать эту "особенность", пожалуйста, дайте мне знать!