C++ 如何在visualstudio中运行linux下编写的程序

C++ 如何在visualstudio中运行linux下编写的程序,c++,linux,compiler-construction,ide,transfer,C++,Linux,Compiler Construction,Ide,Transfer,嗨 我正试图在VisualStudio上编译一个相当大的linux程序。源代码在这里 我设法克服了大部分问题,但现在我不知道该怎么办。我犯了个错误 无法打开包含文件:“ext/functional”:没有此类文件或目录 问题是,我找不到这个头文件,我搜索了整个网站,却找不到它。有没有办法在visual Studio上运行并编译此应用程序? 或者你可以推荐我在Linux上使用好的IDE(我一直在Windows上编程) 如果Linux上的IDE具有与Visual的调试器一样方便的调试器,那就太好了。

嗨 我正试图在VisualStudio上编译一个相当大的linux程序。源代码在这里 我设法克服了大部分问题,但现在我不知道该怎么办。我犯了个错误 无法打开包含文件:“ext/functional”:没有此类文件或目录 问题是,我找不到这个头文件,我搜索了整个网站,却找不到它。有没有办法在visual Studio上运行并编译此应用程序? 或者你可以推荐我在Linux上使用好的IDE(我一直在Windows上编程)
如果Linux上的IDE具有与Visual的调试器一样方便的调试器,那就太好了。移植整个系统将非常重要。首先,部分代码使用linux语法运行系统命令。具体而言:

if (legend)
    system("awk '/^###/  { if ($3>1) printf(\",\"); printf(\"\\\"-\\\" title \\\"%s\\\" with lines %d\",$2,$3) }' < .gsv-3.tmp >> .gsv-0.tmp");
else
    system("awk '/^###/  { if ($3>1) printf(\",\"); printf(\"\\\"-\\\" notitle with lines %d\",$3) }' < .gsv-3.tmp >> .gsv-0.tmp");
if(图例)
系统(“awk'/^\\\\\\\\\\/{if($3>1)printf(\”,\”);printf(\“\\\”-\\\\“title\\\\\\%s\\\\\”,第%d行“,$2,$3”)<.gsv-3.tmp>.gsv-0.tmp”);
其他的
系统(“awk'/^####/{if($3>1)printf(\”,\”);printf(\“\\\”-\\\“notitle with line%d\”,$3)}<.gsv-3.tmp>.gsv-0.tmp”);
来自gnuplot驱动程序的消息

我怀疑您不是在寻找一个主要的移植工作,只是想运行代码并调整一些东西。在这种情况下,最简单的工作就是在Linux上使用它,并习惯gdb。其他选项包括尝试msys/cygwin,因为它们提供了类似linux的环境,但在Windows上。然而,除非你真的想开始重新编写大块代码,否则整个应用程序都无法工作

在这一点上,我应该补充一点,跨平台可移植性(我指的是跨Unix/NT,而不仅仅是Unice)需要从应用程序开发的一开始就非常仔细地设计

还有两个建议可能需要一些努力才能奏效

  • 把你需要的东西拿出来。这应该不会太难。是的,您可能需要重新编写一些逻辑/删减一些仅限linux的特性,但这应该是可能的

关于Linux IDE请求;我一直在Linux下使用Code::Blocks&GDB,到目前为止没有任何问题。

您是否尝试删除其中的代码并查看您会遇到哪些错误?这将有助于告诉您需要包含的标题。注意,标准C++有一个报头,但不是。这个站点提到了实用程序包。一定要吃@黑暗猎鹰,我的源代码,包括正确的。谢谢你们的回答。我将尝试GDB和Codeb::Blocks,并让您知道它是否适合我。如果我遇到困难,我会寻求帮助:)再次感谢我,是我,我在编译上面提到的程序时遇到了一些问题(我使用代码块)。首先,我将所有l cpp h和hpp文件都包含在项目中,如果我单击“构建并运行”,我会在文件CompareANalysis.hpp行中出现以下错误,错误为ReadDDLStream,我不知道为什么禁止声明上面提到的变量。有人能帮我吗?