【问题标题】:Codelite can't find sstreamCodelite 找不到流
【发布时间】:2019-08-31 00:36:11
【问题描述】:

我正在尝试编译我的项目,该项目有一个使用 sstream 的库,该库使用 gcc 和 CodeLite。 但由于某种原因,编译器找不到 sstream 致命错误:sstream:没有这样的文件或目录

CodeLite 使用与 Devc++ 和 TurboC++ 相同的 gcc 安装,编译相同的代码没有问题。

【问题讨论】:

  • 你的意思是你做#include <sstream>?它是一个 c++ 库,而不是 C。
  • 不要使用gcc 命令进行编译,而是尝试g++c++gcc -x c++。或者找到正在使用的语言的 CodeLite 设置并更改它。或者,如果 CodeLite 从您的源文件名派生语言,请将其从 something.c 更改为 something.c++something.cpp。请注意,了解您使用的编程语言以及用于编译它的命令非常重要。

标签: c gcc


【解决方案1】:

一般来说,在提出此类问题时,最好同时提供 CodeLite 的 Output View -> Build 选项卡的构建输出。

假设您的代码编写正确,我猜您的文件名为file.c(此处将file 更改为真实文件名)

默认情况下,CodeLite 将为.c 调用gcc,为以下文件扩展名调用g++

  • cpp
  • .cxx
  • .cc
  • .c++

确保您的文件扩展名设置为 cpp 而不是 c

或者(不推荐),您可以更改 CodeLite 设置并告诉它为 cc++ 文件调用 g++

这可以通过以下方式完成:

Settings -> Build Settings -> Compilers -> YOUR PROJECT COMPILER -> File Types tab 您将在那里看到文件扩展名列表和使用宏的编译行。例如,对于 c 文件,这是 CodeLite 使用的行:

$(CC) $(SourceSwitch) "$(FileFullPath)" $(CFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/$(ObjectName)$(ObjectSuffix) $(IncludePath)

您可以双击c 文件条目并将$(CC) 更改为$(CXX)(或复制cpp 条目中的行)

同样,不建议这样做:)

伊兰

【讨论】:

  • 感谢您的信息。事实证明,我不知何故弄乱了我的编译器。最后重新安装了 Mingw 并尝试用它来编译我的项目,它工作正常。
猜你喜欢
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
相关资源
最近更新 更多