Visual Studio 2013 (vs120) запрашивает неверные библиотеки повышения

Я пытаюсь скомпилировать один из моих проектов в Windows 7, используя Visual Studio 2013. Я установил Boost 1.53 и настроил решение с помощью cmake.

Что происходит, так это то, что теперь скомпилированные библиотеки boost находятся в виде libboost_*-vc120-mt(-gd)-1_53.lib, В опциях проекта компоновщика на вкладке ввода я убедился, что нужные мне библиотеки есть, и на самом деле компилятор может правильно их прочитать.

Однако по какой-то причине, которую я абсолютно не могу понять, компоновщик также пытается найти библиотеки, скомпилированные как vc110, Например:

error LNK1104: cannot open file 'libboost_filesystem-vc110-mt-gd-1_53.lib'

Набор инструментов платформы, который указан в параметре проекта, — «Visual Studio 2013 (v120)». Я не смог найти ссылку на vc110 ни в одном из вариантов проекта. Можете ли вы помочь мне понять, что происходит?

16

Решение

Этот пост, к счастью, решает мой вопрос. Я не мог найти это раньше. Решение состоит в том, чтобы отредактировать boost/config/auto_link.hpp потому что код внутри не в состоянии обрабатывать vc120и заканчивает тем, что предлагает vc110

Как мне указать, на какую версию библиотеки надстройки ссылаться?

12

Другие решения

Имя библиотеки создается автоматически в заголовке надстройки version.hpp.

Возможно, версия не была перестроена, или вы указываете на неверную версию заголовка?

2

Вместо того, чтобы исправлять файл конфигурации, попробуйте просто определить макрос перед включением заголовка. Это то, что я сделал в своем проекте.

// # define BOOST_LIB_TOOLSET «vc100» // # include

0
По вопросам рекламы [email protected]