我的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.
答案 0 :(得分:0)
问题解决了。我发布给未来的访客。
问题在于在MS-Visual Studio C ++中启用增量链接。如果禁用它,则程序可以正常工作。
转到项目的属性,然后转到链接器,常规和禁用增量链接。