2010-08-20 3 views
3

Я попытался написать свою первую программу Boost из информации на сайте Boost libraries. Вот код:Первая программа Boost

#include <boost/lambda/lambda.hpp> 

#include <iostream> 
#include <iterator> 
#include <algorithm> 

int main() 
{ 
    using namespace boost::lambda; 
    typedef std::istream_iterator<int> in; 

    std::for_each(
     in(std::cin), in(), std::cout << (_1 * 3) << " "); 
} 

Он показывает мне эту ошибку:

1>------ Build started: Project: boost_librarys, Configuration: Debug Win32 ------ 
1> boost_librarys.cpp 
1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib' 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Как можно исправить эту ошибку?

+6

Библиотека kernel32 относится к Windows и не имеет ничего общего с Boost. – Philipp

ответ

1

Ошибка ссылки, которую вы получаете, означает, что ваша программа не связывается с правильными библиотеками. Поскольку ошибка относится к системной библиотеке Microsoft (kernel.lib), вам необходимо убедиться, что ваша система настроена правильно. Это не проблема Boost per se, хотя это может быть Boost, который заинтересован в связывании с kernel.lib.

+2

Фактически, kernel32.lib находится в списке библиотек по умолчанию, поскольку он используется стандартной библиотекой Visual Studio (MSVCRT) – MSalters

+0

@ MSalters: Так что это не проблема Boost _per se_, а оригинальный плакат должен проверить правильность настройки его системы. –

+1

Мое утверждение было и есть то, что есть _provably not_ a Boost проблема. «Не _re se_ a Boost problem» сохраняет возможность открытой, которая есть. – MSalters

5

Ответ на similiar question outside SO был:

Download and install the Windows SDK from here

(ссылка на цитаты не может быть подходящим для вашей системы)

+0

kernel32.lib всегда установлен с VS (ну, может быть, за исключением версий bitorrent, я не знаю) – Calvin1602

2

Убедитесь, что у вас установлен Windows SDK.

0

Вы находитесь на Visual, нет причин, почему kernel32.lib wouln'd будет вокруг. Во всяком случае, это должно быть в C:/Program Files (x86)/MS Visual Studio/VC/lib

Я предполагаю, что вы что-то угадали в конфигурации проекта. Каждый lib, каждый дополнительный путь должен быть разделен символом ';'. Если вы не уверены, щелкните правой кнопкой [...], в новом окне должен быть только один элемент за строкой.

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