2014-10-15 3 views
0

У меня есть решение VS2013 с 4 проектами. Мой проект запуска (A) зависит от других трех проектов (B, C и D). Все 3 проекта скомпилируются без ссылок на ошибки.VS2013 LNK1104 запрашивает другую версию внешнего lib (boost)

Мой проект запуска запрашивает libboost_filesystem-vc120-mt-gd-1_55.lib, но при поиске в свойствах проекта всех проектов нет зависимостей от lib, даже в исходных файлах #pragma comment(lib). Кроме того, единственным проектом, который использует boost/filesystem.hpp, является B, который компилируется без ошибок.

Обратите внимание, что у меня есть все файлы boost под C:\Program Files (x86)\Boost\lib32-msvc-12.0, и я использую boost 1.56.

Мои вопросы:

  1. почему же просят бустерного Lib, когда B является единственным проектом, используя файловую систему BOOST в?
  2. Почему требуется ускорение 1.55 lib при увеличении 1.56?
  3. Если B - единственный проект, использующий boost::filesystem, и он отлично компилируется, почему я получаю эту ошибку компоновщика?
  4. Почему эта зависимость не содержит явных зависимостей lib в свойствах проекта или исходном коде?

Я также смотрел во все файлы заголовков под файловую систему включает в себя, и я не видел #pragma comment(lib)

ответ

0

Прежде всего я рекомендую, чтобы восстановить все проекты с нуля.

Следующая опция для компилятора /showIncludes. Это даст вам включить дерево файлов с полными патчами.

+0

Я перестроил каждый проект отдельно. У меня также есть опция компилятора, но я не знаю, что именно это позволяет мне видеть. –

+0

@Francisco, поиск повышения 1.55 заголовков в окне вывода во время компиляции. Я не могу сказать, где они находятся на вашей машине. Вероятно, вы можете сначала их фильтровать с помощью «файловой системы». – magras

Смежные вопросы