File_size()的C ++错误属于Boost Filesystem

时间:2014-09-08 12:59:49

标签: c++ boost

我的IDE是MS Visual Studio C ++ 2013,我使用Boost Library进行文件系统操作。 我写了这段代码:

// BoostFileSystem.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <boost\filesystem.hpp>

using namespace boost::filesystem;
using namespace std;


int main()
{
    cout << "File Size: " << endl;
    cout << file_size("as.jpg");

    return 0;
}

它抛出错误。错误是:

1>------ Build started: Project: BoostFileSystem, Configuration: Debug Win32 ------
1>  BoostFileSystem.cpp
1>  LINK : C:\...\visual studio 2013\Projects\BoostFileSystem\Debug\BoostFileSystem.exe not found or not built by the last incremental link; performing full link
1>  BoostFileSystem.vcxproj -> C:\..\documents\visual studio 2013\Projects\BoostFileSystem\Debug\BoostFileSystem.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

&#39; as.jpg&#39;也包含在Resources文件夹中。当我删除这一行时:

file_size("as.jpg");

不会抛出错误。还要记住,编译器报告没有失败。

有什么问题?我真的无法理解。

因为当我删除file_size()行时,程序会完全运行并在屏幕上打印文本(&#34;文件大小:&#34;)。当按原样运行时,编译器不会抛出任何错误,但没有文本(即使是file_size()之前的行)也不是打印机,而在控制台中会打印以下内容(也会输出到错误区域)已经贴在上面):

更新:

以下是控制台窗口中显示的错误:

The system cannot find the file C:\Users\Ali\do
ts\BoostFileSystem\Debug\BoostFileSystem.exe.

1 个答案:

答案 0 :(得分:0)

问题解决了。我发布给未来的访客。

问题在于在MS-Visual Studio C ++中启用增量链接。如果禁用它,则程序可以正常工作。

转到项目的属性,然后转到链接器,常规和禁用增量链接。