【问题标题】:how to run program written under linux in visual studio如何在visual studio中运行linux下编写的程序
【发布时间】:2023-03-23 19:05:01
【问题描述】:

嗨 我正在尝试在 Visual Studio 上编译一个相当大的 linux 程序。源代码在这里 http://public.fh-wolfenbuettel.de/~hoeppnef/fc.html 我设法克服了大多数问题,但是现在我不知道该怎么办。我有一个错误 无法打开包含文件:'ext/functional':没有这样的文件或目录 问题是,我找不到这个头文件,我搜索了整个网络,我找不到它。有没有办法在visual stuio上运行编译这个应用程序? 或者你可以推荐我在 Linux 上好的 IDE(我一直在 Windows 上编程) 如果 Linux 上的 IDE 有像 Visual 的调试器一样方便的调试器,那就太好了

【问题讨论】:

  • 您是否尝试删除该包含并查看您遇到了什么错误?这将有助于告诉您需要包含哪些标题。请注意,标准 C++ 有一个标头 ,但没有
  • 这个网站提到了一个实用程序包。拥有它!
  • @Dark Falcom 我找到了来源, 包含正确。

标签: c++ linux compiler-construction ide transfer


【解决方案1】:

移植整个过程并非易事。首先,有部分代码使用 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");

来自 gnuplot 驱动程序。

我怀疑您不是在寻找主要的移植工作,而只是想运行代码并进行一些调整。既然如此,在结果之前最简单的工作就是在 Linux 上使用它并习惯 gdb。其他选项包括尝试 msys/cygwin,因为它们提供了类似 linux 的环境,但在 Windows 上。但是,除非您真的想开始重新编写大量代码,否则该应用程序将无法完整运行。

我应该在这一点上添加跨平台可移植性(我的意思是跨 Unix/NT,而不仅仅是在 unice 之间)需要从应用程序的开发开始就非常仔细地设计。

还有两个其他建议可能需要一些努力才能发挥作用。

  • 拿出你需要的碎片。这应该不会太难。是的,您可能需要重新编写一些逻辑/删除一些仅限 linux 的功能,但这应该是可能的。
  • Eclipse 是一个优秀的 Linux IDE,它为您提供 C++ 支持。我从来没有在调试方面尝试过,因为我倾向于坚持使用 gdb,但对于 Java,它非常好。可能值得一试。

【讨论】:

    【解决方案2】:

    关于 Linux IDE 请求;我一直在 Linux 下使用 Code::Blocks & GDB,目前完全没有问题。

    【讨论】:

    • 谢谢大家的回答。我将尝试 GDB 和 Codeb::Blocks 并让您知道它是否适合我。如果我有麻烦,我会寻求帮助:) 再次感谢
    • 嗨,又是我,我在编译上面提到的程序时遇到了一些问题(我使用代码块)。首先,我将所有 l cpp h 和 hpp 文件包含到项目中ReadDDLStream™ 没有类型| ReadDDLStrem 是一个模板类,看起来像pastebin.com/GYEY9ADU 我不知道为什么我上面提到的变量声明是被禁止的。有人可以帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    相关资源
    最近更新 更多