Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Visual Studio C+中使用Shark机器学习库+;_C++_Visual Studio_Compiler Errors_Machine Learning - Fatal编程技术网

C++ 在Visual Studio C+中使用Shark机器学习库+;

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

我想使用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::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平台上适当地考虑我的解决方案。 实际上,您需要做的是在“包含目录”中添加两件事:

  • 预编译的shark库的路径 (示例:E:\Users\frank\Projects\SVM\code\U c++\sharkTrial\shark\U compiledFiles\include)

  • 你前进的道路 (C:\local\boost\u 1\u 59\u 0)

  • 您总是可以在IDE中执行类似的操作,例如Eclipse。我希望有帮助


    *.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:“……您需要将库目录添加到您的设置中,以便可以链接库。”--那就是链接依赖项;;-)