2015-02-21 2 views
1

Я пытаюсь статически Libtorrent с Visual Studio 2013, но я получаю эту одну ошибку после построения Libtorrent затем компиляции моего проекта:Linking Libtorrent статически с Visual Studio

LINK : fatal error LNK1104: cannot open file 'libboost_system-vc120-mt-1_55.lib' 

Как я строю статически я не имеют libboost_system-vc120-mt-1_55.lib скорее у меня есть libboost_system-vc120-mt-s-1_55.lib. Я построил подталкивание со следующими параметрами:

"toolset=msvc-12.0 variant=release link=static runtime-link=static --with-date_time --with-system --with-thread" 

и Libtorrent с этим:

"toolset=msvc-12.0 boost=source boost-link=static geoip=off encryption=tommath link=static dht=on logging=none statistics=off i2p=on variant=release" 

Что это я пропускаю как думает встроенный Libtorrent это общее, а не статические?

ответ

2

Вы указали runtime-link=static при строительстве boost. Это означает, что вам нужно как libtorrent, так и ваше приложение (и любую другую библиотеку, которую вы можете использовать), чтобы также статически связывать с библиотекой времени выполнения C++.

Итак, вам нужно добавить runtime-link=static в командной строке сборки для libtorrent и выберите подходящий вариант компилятора для VC++ для вашего приложения (либо вариант линии /MT команды или соответствующий Runtime Library вариант под Code Generation в IDE).

В противном случае, даже если вы каким-то образом собрали все, чтобы скомпилировать, вы получите впечатляющие ошибки времени выполнения, поскольку часть вашей программы будет использовать статическую версию среды выполнения, а другая - совместно используемую.

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

  • Нет связанных вопросов^_^