проблема при сборке с буст-файловой системой

0

Я хочу использовать функции boost filesystem, и я искал свой журнал построения и нашел следующие строки:

1> Поиск C:\local\boost_1_55_0\stage\lib\libboost_filesystem-vc90-mt-1_55.lib: 1> Поиск C:\local\boost_1_55_0\stage\lib\libboost_system-vc90-mt-1_55.lib: 1> Поиск C:\local\boost_1_55_0\stage\lib\boost_system-vc90-1_55.lib:

поэтому он нашел libs.

что я медик:

proc1.obj: ошибка LNK2001: неразрешенный внешний символ "unsigned __int64 __cdecl boost :: filesystem :: detail :: file_size (класс boost :: filesystem :: path const &, class boost :: system :: error_code *)" (? file_size @подробно @@файловой системы наддува @@YA_KAEBVpath @23 @@PEAVerror_code системы @3 @@Z)

как это решить?

мой тестовый код:

#include <stdlib.h>
#include <string>
#include <iostream>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp> 

using namespace std;
namespace fs = boost::filesystem;  


int main()
{
    string filepath( "H:\\DataSets\\xxx" );
    int a = fs::file_size(filepath.c_str());

}
  • 0
    Какие именно библиотеки вы связываете?
  • 0
    C: \ Local \ boost_1_55_0 \ этап \ Lib \ libboost_filesystem-vc90-т-1_55.lib
Теги:
boost

1 ответ

0

Как вы сказали в своем комментарии, вы только связываетесь с boost::filesystem. boost::filesystem зависит от boost::system поэтому вы также должны ссылаться на boost::system

  • 0
    Я помещаю C: \ local \ boost_1_55_0 \ stage \ lib \ libboost_system-vc90-mt-1_55.lib и ищу C: \ local \ boost_1_55_0 \ stage \ lib \ boost_system-vc90-1_55.lib в Свойства> Линкер> Вход> Дополнительная зависимость, как в журнале.

Ещё вопросы

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