Почему C ++ Boost Lib не может быть использован? [Дубликат]

0

Недавно я начал использовать библиотеку Boost, и у меня возникли проблемы с ее установкой.

То, что я сделал до сих пор, было:

  • Загрузите lib, извлекая его в каталог "C: /Boost".
  • Ввод в Visual Studio 2012 CMD + сделал "cd C: /Boost/boost1_56_0".
  • Введите команду bootstrap.bat и затем команду b2.
  • Введенный Visual и добавлен в C/C++ Общие → Дополнительные каталоги Include каталог загружаемого ранее lib lib, который я извлек ранее.
  • В свойствах конфигурации> C/C++> Предварительно скомпилированные заголовки измените использование предварительного скомпонованного заголовка (/Yu), чтобы не использовать предварительно скомпилированные заголовки

В этом проекте я сделал файл main.cpp который содержит:

#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. LNK2019 - неразрешенный внешний символ _WinMain @16, указанный в функции __tmainCRTStartup
  2. LNK1120 - 1 неразрешенные внешние

Я попытался разобраться с конфигурациями и командами из нескольких мест из Интернета без каких-либо результатов. Почему это могло произойти?

  • 3
    Кажется, вы не создали консольный проект, поэтому главная отправная точка - это не main функция, а та, которая называется WinMain .
  • 0
    1.LNK2019 - неразрешенный внешний символ _WinMain @ 16, на который ссылается функция __tmainCRTStartup 2. LNK1120 - 1 неразрешенный внешний вид Вы выбрали приложение Windows (не консольное приложение), но не имеют WinMain.
Теги:
boost

1 ответ

1

Создайте новый консольный проект в визуальной студии, и он должен работать на вас.

Причина, по которой вы получаете эту ошибку, - это создание приложения Windows, а точка входа в Windows - WinMain.

main - точка входа для консольных приложений, что является правильным в вашей ситуации.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню