Eclipse'de OpenGL ve GLUT kitaplıklarını, OS X üzerinde CDT ile çok fazla başarı ile kurmaya çalışıyorum. GLUT'un nerede olduğunun farkına varmak için tutulmayacağım. Şu anda çözülmemiş bir inklüzyon GL/glut.h olduğumda bana hata veriyor. Çevrimi araştırdığımda gcc linker ayarlarında frame GLUT bayrağını kullanmam gerektiğini anladım, ancak bu etkisiz görünüyor.OS X'de Eclipse'de OpenGL ve GLUT
cevap
Tamam. X11'de çalışıyorum. X11 üzerinde çalışmamın sebebi, işletim sistemindeki OpenGL lib'lerinin 64-bit mimariye sahip olması gibi görünüyor, ancak 32-bit mimariyi kullanırsak, tutulma sadece kod derleyecektir. Belki de bu düzeltildiyse, OS X önceden yüklenmiş kütüphaneleri kullanabiliriz. Ayrıca, belki de işletim sisteminde kullanabileceğimiz 32-bit bir versiyonu var, ama bunu göremiyorum. Bununla birlikte, öğrenme amaçlarım için X11'i kullanıyorum.
İlk önce C++ projenizi oluşturun. Sonra
alt text http://img132.imageshack.us/img132/2325/step1linker32bit.png
alt text http://img251.imageshack.us/img251/5163/step1c32bit.png
alt text http://img132.imageshack.us/img132/5163/step1c32bit.png
Sonra kütüphaneleri gereken ve oluşturulması Bağlama işlemi ... aşağıdakileri ekleyin Tutulma kullanarak 64-bit kod derleme olamaz çünkü. Bu aşağıdakileri yapın yapın:alt text http://img196.imageshack.us/img196/4313/step2glut.png
alt text http://img29.imageshack.us/img29/1904/step2linkerglglu.png
Son olarak bir DISPLAY değişkenini ayarlamak gerekir.alt text http://img40.imageshack.us/img40/7306/step3display.png
X11 başlatmak denemenizi önce.
Makinemde koşturduğum bir şey almak için aşağıdaki kodu deneyin. Umarım senin için çalışır!
//#include <GL/gl.h>
//#include <GL/glu.h>
#include <GL/glut.h>
#define window_width 640
#define window_height 480
// Main loop
void main_loop_function() {
// Z angle
static float angle;
// Clear color (screen)
// And depth (used internally to block obstructed objects)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Load identity matrix
glLoadIdentity();
// Multiply in translation matrix
glTranslatef(0, 0, -10);
// Multiply in rotation matrix
glRotatef(angle, 0, 0, 1);
// Render colored quad
glBegin(GL_QUADS);
glColor3ub(255, 000, 000);
glVertex2f(-1, 1);
glColor3ub(000, 255, 000);
glVertex2f(1, 1);
glColor3ub(000, 000, 255);
glVertex2f(1, -1);
glColor3ub(255, 255, 000);
glVertex2f(-1, -1);
glEnd();
// Swap buffers (color buffers, makes previous render visible)
glutSwapBuffers();
// Increase angle to rotate
angle += 0.25;
}
// Initialze OpenGL perspective matrix
void GL_Setup(int width, int height) {
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glEnable(GL_DEPTH_TEST);
gluPerspective(45, (float) width/height, .1, 100);
glMatrixMode(GL_MODELVIEW);
}
// Initialize GLUT and start main loop
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitWindowSize(window_width, window_height);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutCreateWindow("GLUT Example!!!");
glutDisplayFunc(main_loop_function);
glutIdleFunc(main_loop_function);
GL_Setup(window_width, window_height);
glutMainLoop();
}
OS X'te hangi GLUT kitaplığına yüklediğinize bağlı olarak, içerdiğiniz sayfalar farklı olabilir. Benim sistemde
ı kullanmak zorunda:
#include <GLUT/glut.h>
yapmak için emin benim kodudur aşağıdaki öncesi işlemci deyimini kullanmak çapraz platform:
#if defined(__APPLE__) && defined(__MACH__)
# include <GLUT/glut.h>
#else
# include <GL/glut.h>
#endif
kısmını veya sorunları gidermek olabilir .
Ben devlet GLUT/glut.h için içerir, ancak bu yine de konuyu sabit değildir görünüyor değiştirmek yaptığını söylemek anlamına geliyordu. Yüklediğim GLUT kitaplığının macports sürümünden olduğuna inanıyorum. Ayrıca XCode'u yükledim ve tüm kütüphaneleri oradan aldım. – fastrack20
MacPorts için varsayılan yükleme dizini/opt/local'dir./Opt/local, derleyicinize eklenmemiş olabilir, Eclipse'deki yolu içerir. Ya da, varsayılan olarak GLUT/glut.h vermek için Xcode yeniden yükleme Xcode libs için yolunu içerir (daha sonra tutulmaya eklemek gerekir? Ben OS X çalıştırmayın böylece Xcode installdir ne diyemem öyle, ama/Developer veya/Library/Developer/Shared içinde olabilir gibi görünüyor.
Ben yaklaşık bir yazı yazdım nasıl yılında C OpenGL (ve GLUT) uygulamaları geliştirmek için kurulum Eclipse için/C++ hem , Windows ve Mac ve Java Eğer ilgileniyorsanız OS X. Sistemin hazır olması için bilmeniz gereken tüm adımları ve tüm adımları içerir.
Burada bulabilirsiniz:
Setup Eclipse to develop OpenGL & GLUT apps in Java & C/C++ on Windows & MAC OS X!
- 1. Cl-opengl glut olgun mu?
- 2. OS X & Linux için OpenGL üstbilgileri
- 3. GLUT açılır menüler
- 4. C++ ile GLUT/OpenGL ile nasıl metin çizerim?
- 5. Visual C++ Express Edition ile GLUT kullanma
- 6. xcode Glut fonksiyonları hakkında 5 kullanımdan kaldırma uyarısı
- 7. XCode projesi belirli GLUT komutlarını tanıyamıyor
- 8. GLUT penceresini uygulama sonlandırmadan nasıl kapatabilirsiniz?
- 9. Bu OpenGL makefile'ı Linux'tan Mac OS X'e nasıl dönüştürebilirim?
- 10. OpenGL, GL_MODULATE ve Multitexturing
- 11. ffmpeg ve opengl
- 12. OpenGL-ES ve Cg
- 13. OpenGL 3.2 Bir karbon penceresindeki içerik (OS Lion, Mono)
- 14. OpenGL
- 15. openGL
- 16. OpenGL
- 17. OpenGL
- 18. OpenGL:
- 19. Dylibs ve OS X
- 20. Dokku, OS ve S3
- 21. OpenGL
- 22. OpenGL Orthographic Projeksiyon ve Çevirme
- 23. GLEW ve openGL kullanım dışılığı
- 24. GL_LINES ve OpenGL ES 2.0
- 25. OpenGL uygulamamı tam ekran moduna nasıl sokarım?
- 26. Mac'te gcc ile openGL nasıl kullanılır?
- 27. OS
- 28. OS
- 29. QG OpenGL Widget'ta OpenGL işlevleri nasıl kullanılır?
- 30. OpenGL sise karşı OpenGL ES sis
Bu cevap beni aradığım çözüme götürdü. Artık her şey doğru şekilde yapılandırılmış. Sağlanan kod parçasıyla yapmam gereken tek değişiklik, include ifadesini Brian'ın cevabı uyarınca #include olarak değiştirmekti. –
fastrack20