2014-09-25 146 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。