与 CMake 和 Visual Studio 2010 的链接错误

Posted

技术标签:

【中文标题】与 CMake 和 Visual Studio 2010 的链接错误【英文标题】:linking error with CMake and Visual Studio 2010 【发布时间】:2011-12-16 18:05:13 【问题描述】:

我正在尝试使用 VS2010 编译 osgearth 库。该库使用 CMake,因此在设置所有依赖项后,它会生成一个 VS2010 解决方案文件。但是,在 VS 中运行构建时,我收到此链接器错误(以及 200 个类似错误)

错误 7 错误 LNK2019:无法解析的外部符号“__declspec(dllimport) public: void __thiscall std::basic_ofstream >::`vbase destructor'(void)” (_imp??_D?$ basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 在函数“public: virtual void __thiscall osgEarth::DiskCache::setImage(class osgEarth::TileKey const &,struct osgEarth::CacheSpec const & ,class osg::Image const *)" (?setImage@DiskCache@osgEarth@@UAEXABVTileKey@2@ABUCacheSpec@2@PBVImage@osg@@@Z) C:\swproj\osgearth-src\src\osgEarth\Caching。 obj osgEarth

我对 C++ 不是很熟悉,还有什么需要设置的吗?

【问题讨论】:

那是八年前的事了,抱歉:) 【参考方案1】:

您缺少对 std::ofstream 的引用。您要么需要在其中一个文件中添加#include,要么需要在项目中引用标准库 dll。

【讨论】:

以上是关于与 CMake 和 Visual Studio 2010 的链接错误的主要内容,如果未能解决你的问题,请参考以下文章

CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)

CMake 和 Visual Studio - 指定解决方案文件目录

从 CMake 创建 Visual Studio 项目,Visual Studio 找不到可执行文件

使用CMake,Microsoft MPI和Visual Studio 2017 - 找不到mpi.h [重复]

如何在 Visual Studio 2017、C++、CMake 中使用数据断点?

使用 CMake 和 Visual Studio 2019 编译 GLEW?