Qt 5.8を使ってOS X SierraでOpenGLの処理を行うプロジェクトでCMakeをセットアップしようとしましたが、ここで私のメインのCMakeListsを見ることができますOS X SierraでCmake for OpenGL + Qt 5.8を使用するには?
cmake_minimum_required (VERSION 3.8)
set (PROJECT_NAME "FluidEngine")
project (${PROJECT_NAME})
set (CMAKE_PREFIX_PATH "/Users/BRabbit27/Qt/5.8/clang_64")
set (CMAKE_AUTOMOC ON)
find_package (Qt5Widgets)
find_package (Qt5Gui)
find_package (Qt5OpenGL)
set (CPP_SOURCES "")
set (HPP_SOURCES "")
set (INCLUDE_PATHS "")
add_subdirectory (src)
include_directories (${INCLUDE_PATHS} ${OPENGL_INCLUDE_DIRS})
add_executable (${PROJECT_NAME} ${CPP_SOURCES} ${HPP_SOURCES})
target_link_libraries (${PROJECT_NAME} Qt5::Widgets Qt5::Gui Qt5::OpenGL)
これは、xcodeプロジェクトを完全に構成します。エラーはありません。 はその後、基本的な三角形をレンダリングするための私のコードは次のようになります。
GLWindow::GLWindow(QWidget* parent) : QOpenGLWidget(parent)
{}
void GLWindow::initializeGL()
{
initializeOpenGLFunctions();
GLfloat verts[] =
{
0.f, 1.f,
-1.f, -1.f,
1.f, -1.f
};
GLuint myBufferID;
glGenBuffers(1, &myBufferID);
glBindBuffer(GL_ARRAY_BUFFER, myBufferID);
glBufferData(GL_ARRAY_BUFFER, sizeof(verts), verts, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
}
void GLWindow::resizeGL(int w, int h)
{
glViewport(0, 0, w, h);
}
void GLWindow::paintGL()
{
glDrawArrays(GL_TRIANGLES, 0, 3);
}
そして、何私が取得することは黒いウィンドウです。私はこのコードを持っていますthis video tutorial
OpenGLを使用するには、私のcmakeファイルやOS Xで微妙なものがありますか? OS Xは現在Metalを宣伝しているので、おそらく何かを有効にする必要がありますが、何がわからないのでしょうか。私はすでにのOpenGLのバージョンを設定しようとした
は
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QSurfaceFormat format;
format.setVersion(4, 1);
format.setProfile(QSurfaceFormat::CoreProfile);
QSurfaceFormat::setDefaultFormat(format);
GLWindow glwindow;
glwindow.show();
return app.exec();
}
メイン機能で任意のアイデアを使用しましたか? githubのに
UPDATE
追加のプロジェクトは、あなたがclone it hereあなたのマシンでテストすることができます。
私がプロジェクトを構築する方法は、ちょうどcmake -GXcode ..
だと私は/path/to/project/build_xcode
ディレクトリにいると仮定しています。
これは、私が間違っている可能性のあることを再現し、おそらく私に手掛かりを与えるのを助けることを望みます。