2014-04-08 144 views
1

該項目是一個MVC,在View部分使用Qt(和OpenGl),在Controler部分使用Boost圖形庫。將C++項目與Qt項目合併時的問題

我已經在Eclipse CDT上開發了模型和視圖部分,併成功地編譯和運行。查看部分在QtCreator下開發,窗口編譯運行也成功。

但是,當我在Qt項目中添加模型和控制器文件時,我遇到了一些編譯問題。

我在Mac OSX小牛,升壓1.55.0,Qt的5.2.1(最新的Qt Creator的版本)

以下是編譯輸出:

MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6 -Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../../Qt/5.2.1/clang_64/mkspecs/macx-clang -I../IBirdCVGui -I</Users/thomas/Documents/workspace/interface/testsQt/IBirdCVGui/boost_1_55_0/> -I../../../../../Qt/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/Headers -I../../../../../Qt/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers -I../../../../../Qt/5.2.1/clang_64/lib/QtGui.framework/Versions/5/Headers -I../../../../../Qt/5.2.1/clang_64/lib/QtCore.framework/Versions/5/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -F/Users/thomas/Qt/5.2.1/clang_64/lib -o main.o ../IBirdCVGui/main.cpp 
/bin/sh: -I../../../../../Qt/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/Headers: No such file or directory 
make: *** [main.o] Error 1 
14:32:02: Le processus "/usr/bin/make" s'est terminé avec le code 2. //ended with code 2 
Erreur lors de la compilation/déploiement du projet IBirdCVGui (kit : Desktop Qt 5.2.1 clang 64bit) // error in compilation/deployment of project IBirdCVGui 
Lors de l'exécution de l'étape "Make" //in "make" execution 
14:32:02: Temps écoulé : 00:00. 

我在文件中查找QT/5.2.1/clang_64/lib中/ QtOpenGL.framework /版本/ 5 /頭,和我的ls的輸出結果是:

(Canopy 32bit) rivesaltes:Headers thomas$ ls 
5.2.1    QtOpenGL 
QGLBuffer   QtOpenGLDepends 
QGLColormap   QtOpenGLVersion 
QGLContext   qgl.h 
QGLFormat   qglbuffer.h 
QGLFramebufferObject  qglcolormap.h 
QGLFramebufferObjectFormat qglframebufferobject.h 
QGLFunctions   qglfunctions.h 
QGLFunctionsPrivate  qglpixelbuffer.h 
QGLPixelBuffer   qglshaderprogram.h 
QGLShader   qtopenglglobal.h 
QGLShaderProgram  qtopenglversion.h 
QGLWidget 

有像10 .h文件和10個.cpp文件在我的項目,所以如果你想看到代碼,我可以pos但它有什麼比在這裏發佈更有用的東西。

所以,我有幾個問題:

  • 我失去了一些大嗎?
  • 爲什麼Qt打開當我嘗試添加一些「經典」C++代碼時,Gl在抱怨嗎?
  • 增強圖庫是否可能會與Qt搞混?
  • Qt知道我錯過了我的教程嗎?
+0

誤差輸出的第二行告訴,包含路徑爲QT頭故障 –

回答

1

這條線:

/bin/sh: -I../../../../../Qt/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/Headers: No such file or directory 

通常表明存在一個Makefile,在錯誤的地方爆發(也許這是一個反斜槓+換行與行他們之間的空間)。檢查生成的Makefiles,你可能會發現你的問題。

+0

你能告訴我更多,我認爲我不理解。如果需要,我可以發佈我的makefile,但它是由Qt創建者自動生成的。我是MakeFiles的新手,所以多一點可能會有所幫助。謝謝 – Thomas

+0

請發佈您生成的Makefile – Massa

+0

http://paste.ofcode.org/ZUk2Mu5LRuSpi4UwGSsJq3 – Thomas

0

我會看看到

/bin/sh的原因: -I ../../../../../ QT/5.2.1/clang_64/lib目錄/ QtOpenGL.framework /版本/ 5 /頭: 沒有這樣的文件或目錄

問自己所有的其他問題之前。也許「../../../../../」有些問題。如果我是你,我會檢查路徑

../../../../../Qt/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/頭部

首先從工作目錄中。

希望它能幫助:)

+0

我的工作區位於: 〜/文檔/工作區/接口/ testsQt /建立 和Qt位置爲: 〜/ Qt 所以我認爲這條路很好。 ../../../../../是自動生成的購買QtCreator,我認爲。 – Thomas