2014-01-12 26 views
0

爲了方便起見,我需要在一個單獨的文件中使用OpenGL的標準方法來移動一些函數。例如,我有這樣的:Visual Studio 2012 - 在單獨的文件中使用OpenGL(GLU,GLUT)去除函數

void moveCamera(float pp1, float pp2, float pp3, float pp4, float eX, float eY, float eZ) 
{ 
    glMatrixMode (GL_PROJECTION); 
    glLoadIdentity(); 
    gluPerspective(pp1, pp2, pp3, pp4); 
    glMatrixMode (GL_MODELVIEW); 
    glLoadIdentity(); 
    gluLookAt (eX, eY, eZ, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0); 
} 

,我讀了這個項目的所有.cpp文件(包含在解決方案VS至少),是相互關聯的(糾正我,如果我誤解),即主文件(包含main()/ _tmain())的文件應該會看到其餘的文件並自動包含在程序代碼中。對?但是,如果我嘗試制定計劃,並在解決方案中創建一個文件,其中所有這些功能都有效,則說明函數OpenGL是未定義的。

UPD。嘗試應用我在這裏得到的建議後,我有這張圖片: enter image description here

似乎我做錯了什麼。但究竟是什麼?

回答

1

你應該在這個其他文件中包含opengl頭文件。

1

每個.cpp文件都應該有它的頭文件(.h),你只需要定義它的功能。在.cpp你聲明他們(你寫他們到底是什麼)。

我(作爲一個初學者)讀取,該項目的所有.cpp文件(包含在解決方案VS至少 ),是相互關聯的(糾正我,如果我 誤解),即主文件(包含main()/ _tmain())的文件應該會看到其餘部分並自動包含在程序代碼中。

爲了讓.cpp文件看到對方,你應該在頂部包含你想要的.cpp的.h頭文件。否則,他們默認不會看到對方! 您還應該在每個.cpp包含所有其他庫。

在這裏你應該包括OPENGL庫。

再問我一次,如果我不清楚

+0

謝謝你的意見和抱歉,如此遲到的評論。我試圖使用你的解決方案,但仍然有麻煩。請參閱我今天附在我的問題上的插圖。 – srgg6701

+0

funx.cpp裏面加 #include 我覺得應該沒問題 – maria