C++/Boost 文件系统 - 检测到 '_MSC_VER' 不匹配 : value '1700' doesn't match value '1600'

标签 c++ visual-studio boost boost-filesystem

我是 C++ 和 Boost 的新手。我正在做一个简单的小程序来尝试学习 Boost Filesystem 库。我已经按照说明构建了 Boost 库。现在,当我尝试编译这个简单的代码时,我遇到了其中的 6 个错误。

Error   5   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in App.obj C:\SOURCE\ConsoleApp2\ConsoleApp2\libboost_filesystem-vc110-mt-gd-1_51.lib(codecvt_error_category.obj)  ConsoleApp2  
Error   1   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in App.obj C:\SOURCE\ConsoleApp2\ConsoleApp2\libboost_filesystem-vc110-mt-gd-1_51.lib(operations.obj)  ConsoleApp2  
Error   2   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in App.obj C:\SOURCE\ConsoleApp2\ConsoleApp2\libboost_filesystem-vc110-mt-gd-1_51.lib(path.obj)    ConsoleApp2  
Error   3   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in App.obj C:\SOURCE\ConsoleApp2\ConsoleApp2\libboost_filesystem-vc110-mt-gd-1_51.lib(path_traits.obj) ConsoleApp2  
Error   4   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in App.obj C:\SOURCE\ConsoleApp2\ConsoleApp2\libboost_filesystem-vc110-mt-gd-1_51.lib(windows_file_codecvt.obj)    ConsoleApp2  
Error   6   error LNK1104: cannot open file 'libboost_filesystem-vc100-mt-gd-1_51.lib'  C:\SOURCE\ConsoleApp2\ConsoleApp2\LINK  ConsoleApp2  

My code in App.cpp in my ConsoleApp2 project

#include <iostream>
#include <boost/filesystem.hpp>

using namespace std;
using namespace boost::filesystem;

int main(void) 
{
    path p = "C:\\TestFiles";
    cout << is_directory(p);

    return 0;
}

我正在尝试使用 Visual Studio 2010 编译该应用程序。我在网上找到的一些信息与 VS 2012 相关。我认为这不适用于我。我想尝试解决 5 个不匹配错误和最终链接错误。我希望最后一个错误与之前的 5 个错误有关。

最佳答案

libboost_filesystem-vc110-mt-gd-1_51.lib 是一个使用 VS 2012(也称为 VC 11.0)构建的库,如 vc110 在命名约定中。此库将无法与使用 VS 2010(也称为 VC 10.0)构建的对象正确链接。

如果您想使用 VS 2010 构建程序,则需要获取或构建 VS 2010 的 boost 库。

关于C++/Boost 文件系统 - 检测到 '_MSC_VER' 不匹配 : value '1700' doesn't match value '1600' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398809/

相关文章:

C++ : Function call Compile-Time Error from a Template Class using Typename as Base

c++ - 在旧版 Visual Studio 中开发的链接库

c++ - 当我在 on_read 上看到错误时,我应该清理 bread::flat_buffer 吗?

c++ - 从 https ://github. com/boostorg/boost.git 在 Windows 上构建 Boost

c++ - 使用指令、重载的私有(private)继承?

c++ - 在 Windows Vista 上将 MSADO15.DLL 和 C++ 与 MinGW/GCC 结合使用

vb.net - 在 VB 中使用 .txt 文件资源

c++ - Boost Multi-Index 自定义复合键比较器

c++ - VC解决方案跨多个项目访问同一个对象

c# - Android 应用程序调试几秒钟然后停止