У меня возникли проблемы с подключением моего проекта к файлу libost файловой системы Boost (версия 1.37.0) в Microsoft Visual С++ 2008 Express Edition. Библиотека файловой системы not библиотека только для заголовков. Я следил за Руководство для начинающих в Windows, размещенном на официальной веб-странице повышения. Вот шаги, которые я предпринял:
-
Я использовал bjam для создания полного набора файлов lib, используя:
bjam --build-dir="C:\Program Files\boost\build-boost" --toolset=msvc --build-type=complete
-
Я скопировал каталог /libs (расположенный в C:\Program Files\boost\build-boost\boost\bin.v2) до C:\Program Files\boost\boost_1_37_0\libs.
-
В Visual С++ в разделе Проект > Свойствa > Дополнительные каталоги библиотек Я добавил эти пути:
- C:\Program Files\boost\boost_1_37_0\libs
- C:\Program Files\boost\boost_1_37_0\libs\filesystem\build\msvc-9.0express\debug\link-static\threading-multi
Я добавил второй из отчаяния. Это точная директория, в которой находится libboost_system-vc90-mt-gd-1_37.lib.
-
В Свойства конфигурации > C/С++ > Общие > Дополнительные каталоги Include Я добавил следующий путь:
- C:\Program Files\boost\boost_1_37_0
-
Затем, чтобы поместить глазурь на торт, в разделе Инструменты > Опции VС++ Каталоги > Библиотечные файлы, я добавил те же каталоги, упомянутые на шаге 3.
Несмотря на все это, когда я создаю свой проект, я получаю следующую ошибку:
fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-gd-1_37.lib'
Кроме того, вот код, который я пытаюсь скомпилировать, а также скриншот из вышеперечисленного каталога, где находится (предположительно правильный) файл lib:
#include "boost/filesystem.hpp" // includes all needed Boost.Filesystem declarations
#include <iostream> // for std::cout
using boost::filesystem; // for ease of tutorial presentation;
// a namespace alias is preferred practice in real code
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}