最終更新: mikk_ni3_92 2009年09月01日(火) 13:40:27履歴
現在地:メニュー >> NVIDIA_SDK >> NVIDIA_SDK_01
\common\include内のヘッダファイルは、
「nvTime.h」、「framebufferObject.h」、「renderbuffer.h」は「\src\common」フォルダの「cppファイル」がそれぞれ必要。
※ヘッダファイルによっては、同じフォルダ内の別のヘッダファイルをインクルードしているものがあるので、
このフォルダにパスを通すと楽。
【注意】:「CUDA SDK」と「NVIDIA SDK」
もし、CUDA SDKをダウンロードし、その中の「nvMath.h」にパスを通している場合は注意が必要である。
NVIDIA SDK内の「nvMath.h」とCUDA SDKの「nvMath.h」は中身が少し違う。
例えば、
NVIDIA SDKでは「nvManipulators.h」内で「applyRotation関数」を定義している。
一方、CUDA SDKでは「nvMath.h」で「applyRotation関数」を定義している。
そのため、もしcudaSDKのnvMathにパスが通っていてコンパイルすると
【対策】
対策として、例えば、
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\NV
のようなフォルダを作成しそこにNVIDIA SDKのヘッダファイルをコピー。
そして、
「nvManipulators.h」ファイルのインクルード
#include <nvMath.h> → #include <NV/nvMath.h>
「nvMath.h」ファイルのインクルード
#include <nvVector.h> → #include <NV/nvVector.h>
#include <nvMatrix.h> → #include <NV/nvMatrix.h>
#include <nvQuaternion.h> → #include <NV/nvQuaternion.h>
など、コンパイラが違うもの参照しないようにする必要がある。
\common\include内のヘッダファイルは、
「nvTime.h」、「framebufferObject.h」、「renderbuffer.h」は「\src\common」フォルダの「cppファイル」がそれぞれ必要。
※ヘッダファイルによっては、同じフォルダ内の別のヘッダファイルをインクルードしているものがあるので、
このフォルダにパスを通すと楽。
【注意】:「CUDA SDK」と「NVIDIA SDK」
もし、CUDA SDKをダウンロードし、その中の「nvMath.h」にパスを通している場合は注意が必要である。
NVIDIA SDK内の「nvMath.h」とCUDA SDKの「nvMath.h」は中身が少し違う。
例えば、
NVIDIA SDKでは「nvManipulators.h」内で「applyRotation関数」を定義している。
一方、CUDA SDKでは「nvMath.h」で「applyRotation関数」を定義している。
そのため、もしcudaSDKのnvMathにパスが通っていてコンパイルすると
『関数 'void nv::applyRotation(const nv::quaternionf &)' は既に本体を持っています。』のようなエラーがでてしまう。
【対策】
対策として、例えば、
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\NV
のようなフォルダを作成しそこにNVIDIA SDKのヘッダファイルをコピー。
そして、
「nvManipulators.h」ファイルのインクルード
#include <nvMath.h> → #include <NV/nvMath.h>
「nvMath.h」ファイルのインクルード
#include <nvVector.h> → #include <NV/nvVector.h>
#include <nvMatrix.h> → #include <NV/nvMatrix.h>
#include <nvQuaternion.h> → #include <NV/nvQuaternion.h>
など、コンパイラが違うもの参照しないようにする必要がある。