C++ 在Visual Studio C+中使用Shark机器学习库+;
我想使用Visual Studio 2013中的Shark库。他们在Shark-3.0.0\examples中提供了以下示例:C++ 在Visual Studio C+中使用Shark机器学习库+;,c++,visual-studio,compiler-errors,machine-learning,C++,Visual Studio,Compiler Errors,Machine Learning,我想使用Visual Studio 2013中的Shark库。他们在Shark-3.0.0\examples中提供了以下示例: #include <shark/Core/Shark.h> #include <iostream> int main(int argc, char ** argv) { shark::Shark::info(std::cout); } #包括 #包括 int main(int argc,字符**argv) { shark::shark
#include <shark/Core/Shark.h>
#include <iostream>
int main(int argc, char ** argv)
{
shark::Shark::info(std::cout);
}
#包括
#包括
int main(int argc,字符**argv)
{
shark::shark::info(std::cout);
}
但是,我得到了以下错误:
错误C1083:无法打开包含文件:“shark/Core/shark.h”:没有此类文件或目录。
实际上,Shark-3.0.0\include\Shark\Core中的头文件名是Shark.h.In。但是,如果我将#include
更改为#include
,则会出现以下错误:
错误C1083:无法打开包含文件:“boost/version.hpp”:没有此类文件或目录。是作为源程序包提供的库,它(根据其README.txt
中的说明)需要在目标计算机上编译:
安装/文件
Shark库文档的入口点位于
doc/index.html。有关安装说明,请单击
“入门”在那页上。安装指南的简短版本:
在主目录中发出“ccmake.”以选择构建选项,
然后在主目录中发出“make”——您应该
完成(假设安装了Boost和CMake)。请参阅文档
详细说明
更详细的安装说明
请注意,Shark似乎依赖于,所以首先安装…这是Shark构建系统的一种怪癖。在Shar的build文件夹中有两个“include”文件夹。鲨鱼。h在其中一个里面。您需要将这两个文件夹都添加为include directory或copy shark.h..我刚刚解决了这个问题,所以我想我可以尝试在这里共享我的解决方案。事实上,阅读文档并没有多大帮助。请注意,我在Windows环境中使用Shark。因此,如果您使用Linux环境,请在Linux平台上适当地考虑我的解决方案。 实际上,您需要做的是在“包含目录”中添加两件事:
*.foo.in
通常表示某个文件将作为某些系统/脚本的输入,该系统/脚本将其转换为*.foo
文件。因此,在不了解这个“Shark”库的第一件事的情况下,您是按照该库的安装说明进行操作,还是只是在某个地方将其解包?我遵循了安装指南:我在CMake中单击了Generate并成功完成了生成!“生成”表示生成了生成文件。(最有可能是MSVC解决方案)您仍然需要实际构建库。。。(你确定你已经能够使用Shark这样的第三方库了吗?看起来你对基本的构建工具还是相当不熟悉…@user5388874:好的,让我们慢慢来。CMake不构建软件。它生成构建文件。在Unix机器上,默认情况下它会生成Makefiles,但也可以生成KDevelop或代码块的项目文件。在Windows上,它生成MSVC解决方案,但也可以生成NMake生成文件。你说你“点击了在CMake中生成”。这意味着您现在很可能拥有一个以前没有的MSVC解决方案(*.sln
)。您尚未构建Shark库。@user5388874:在构建(可能是安装)Shark库之后,您需要将正确的目录添加到MSVC设置中——首先,包含Shark/Core/Shark.h
,这意味着,shark
目录所在的目录——然后是包含boost/version.hpp
的目录。然后你需要将库目录添加到你的设置中,这样库就可以被链接(否则你会得到“未定义的引用”错误)。@user5388874:我告诉你,这是一个迹象,表明你现在就开始使用一个看起来相当复杂的、特定于领域的工具库可能还为时过早。无意冒犯,但这些年来我经常看到这样的情况:你想用Shark给你的东西(赛车),你可以快速通过基本要素到达那里(驾驶学校)。我只是警告你,如果你慢慢来,你可能会更喜欢它(不要走向那边的伤痛之墙)。你能详细说明一下如何在安装程序中添加库目录吗。我应该将它放在链接依赖项(或编译器依赖项)中吗?@Sashank:“……您需要将库目录添加到您的设置中,以便可以链接库。”--那就是链接依赖项;;-)