фатальная ошибка LNK1104: невозможно открыть файл 'libboost_system-vc90-mt-gd-1_43.lib' - PullRequest
21 голосов
/ 22 мая 2010

Сделал новый проект, добавил main.cpp и написал код по этому адресу:

http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp

Также добавлен соответствующий путь включения.

Что дальше?!? !! Кажется, что чертовски сложно создать буст-код!

копался на нем более 10 часов.

Может кто-нибудь дать прямой ответ о том, как собрать библиотеку надстроек из кода под Windows, VC9?

Ответы [ 7 ]

18 голосов
/ 22 мая 2010

Вам нужно использовать BJAM. Он отвечает за создание библиотек, которые будет использовать ваше приложение. После того, как вы используете bjam, вам нужно будет указать вашему проекту включить файл lib. Это можно сделать, перейдя в свойства проекта -> Свойства конфигурации -> Линкер -> Общие. Добавьте каталог, который создал файл lib, в каталог дополнительных библиотек. Вы должны быть в состоянии правильно ссылаться после этого. Я считаю, что эта ссылка описывает шаги лучше, чем я мог бы попытаться в сообщении

16 голосов
/ 22 мая 2010

@ Богертрон: Я хочу обнять тебя! (

Итак, наконец, с настоящей головной болью, мне удалось это сделать.

Точные шаги, которые я предпринял, чтобы другие спаслись от головной боли:

  1. Пошел на http://www.boost.org/doc/libs/1_43_0/more/getting_started/windows.html#or-build-binaries-from-source.

  2. Следовал пункту «5.3.1 Get bjam». Скачал «готовый исполняемый файл bjam для вашей платформы» по этому адресу: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941.

  3. Извлечен ZIP-файл (моя платформа Windows).

  4. Запустил "build.bat". Он создал файл "bin.ntx86 / bjam.exe".

  5. Скопировал этот файл в мой путь ("..... / boost_1_43_0 /").

  6. Из командной строки выполнил «bjam.exe» и ждал около 4-5 минут.

Затем на консоли появилось сообщение: «Библиотеки Boost C ++ успешно созданы!»

Вот и все, он даже сообщает вам, где находятся файлы include и lib.

9 голосов
/ 22 мая 2010

Не все библиотеки Boost являются только заголовками, Boost.System является одной из них.Документация для Boost.Asio сообщает, что это зависит от Boost.System.

В Visual Studio библиотеки Boost используют автоматическое связывание , что означает, что выне нужно явно ссылаться на библиотеки, которые вам нужны.Однако вам необходимо иметь необходимые библиотеки в пути поиска библиотек, глобально или для каждого проекта.

Если вы не хотите создавать библиотеки Boost самостоятельно, вы можете использовать installers предоставляется boostpro (только до Boost 1.42, хотя на данный момент).Если вы хотите построить их самостоятельно, документация хорошо описывает это.

1 голос
/ 16 февраля 2014

У меня была та же ошибка, и я следовал за SourceForge . По ссылке вы попадете в папку с архивированными файлами lib и dll для версии boost. Вы можете скачать и распаковать связанную библиотеку, а когда скопируете ее в соответствующее местоположение, все будет хорошо;)

0 голосов
/ 27 апреля 2013

Из «Направления ускоренного начала работы»:

"5.2 Или, упрощенная сборка из источника

Если вы хотите собрать из исходного кода с помощью Visual C ++, вы можете использовать простую процедуру сборки, описанную в этом разделе. Откройте командную строку и измените текущий каталог на корневой каталог Boost. Затем введите следующие команды:

самозагрузки . \ B2"

В Windows я открыл командную строку Visual Studio из меню «Пуск». Сначала я набираю «bootstrap», а затем набираю «. \ B2».

0 голосов
/ 30 июля 2012

Теперь с boost_1.50 Boost.build включен в zip-файл: отметьте tools\build\v2\ или лучше прочитайте: ...boost_1_50_0/more/getting_started/windows.html

0 голосов
/ 03 апреля 2012

В Visual Studio щелкните правой кнопкой мыши свой проект, затем перейдите в свойства и выберите:

Свойства -> Свойства конфигурации -> Компоновщик

Там вы добавляетеполный путь к вашей библиотеке на вкладке «Дополнительные каталоги библиотек».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...