2014-09-25 41 views
0

我一直在寻找这个问题的答案,现在约一周,但我找不到任何地方。我在Windows 8上使用带有Sublime Text的openFrameworks,并且安装了MinGW并将其添加到路径中。我还安装了SublimeClang,并将此我SublimeClang用户设置:Sublime Text找不到外部C++库

{ 
"options": [ 
    "-I/laura/openFrameworks/libs/**", 
    "-I/laura/openFrameworks/addons/**" 
] 

}

我得到的错误是:

/laura/openFrameworks/apps/myApps/mySketch/src/ofApp.h:3:10: 
fatal error: 'ofMain.h' file not found 
#include "ofMain.h" 
     ^
1 error generated. 
[Finished in 0.1s with exit code 1] 

所以我不知道这是否是一个SublimeClang问题或一个Sublime问题或Windows问题,但我也是C++的新手,并没有完全理解它是如何构建或发现的。我是否必须将OpenFrameworks/libs添加到路径中?

谢谢

+0

whereMain.h文件在哪里?在C++(和C)中,编译器需要有明确的方向来查找包含的文件。您需要向编译器指定.h文件所在的目录。 (这是“-I”选项的意思:将目录添加到“Include”路径中 – 2014-09-25 13:50:40

+0

它在openFrameworks/libs/openFrameworks中。我认为包括“-I/laura/openFrameworks/libs/**”添加了所有子目录? – 2014-09-25 14:08:00

+0

好的。首先,Sublime Clang是一个插件,用于使用clang(一种基于LLVM的编译器)为C \ C++语言提供自动完成和代码分析。你不使用clang,你使用MinGW这是GCC的一个端口到Windows,所以完全忘记Sublime-Clang,或者安装LLVM/Clang,但我不知道它在Windows上的支持程度如何。 – 2014-09-25 14:24:29

回答

1

注:崇高的文字是一个编辑器。它没有专门的构建系统,或者本身没有任何语言集成。它只是提供通过热键调用外部构建系统的便捷方法(CTRL + B)

您的问题与Build系统有关。 Sublime Text 2的C++默认构建系统只是在命令行中调用g ++。 这对于Hello World来说已经足够了,但要构建一个可以利用第三方库的应用程序,您需要一个实际的Build系统,比如make。 Sublime text对make有默认的支持(你只需在Tools/Build Systems中选择make选项) make的问题在于你需要编写自己的makefile,这显然超出了你的C++知识范围(don “T采取这种坏)

你必须在我看来,有3个选项:

  1. 学习写makefile和使用崇高文本(与make构建系统选项,或者在命令行让)

  2. 使用其他(更简单和更好)建立在诸如CMake之上的构建系统。有一个包CMake(为CMake语言提供语法高亮)和另一个CMake-snippets,为最常见的操作提供片段(原型)。

  3. 从Sublime文本切换到IDE。由于您在Windows上,我建议您使用QtCreator或Visual Studio Express。我更喜欢Qt Creator。 Qt Creator的好处在于它提供了自己的编译系统(qmake),它与编辑器很好地集成,并且非常友好。

当然,你将学习更多的第一或第二选择,你将在第三个5分钟内开始运行。你的来电。 请注意,如果您想成为一名职业C++开发人员,您最终必须了解Build System。