私は見つけたCUDA FFTの例をコンパイルしようとしていますが、その定義されたエラーを定義しているだけの単純なものだと思います。それを理解されるであろうComplexPointwiseMulAndScaleリンクエラー
fft.cu(17): warning: function "ComplexPointwiseMulAndScale" was referenced but not defined
fft.cu:17:13: warning: function 'ComplexPointwiseMulAndScale' has internal linkage but is not defined [-Wundefined-internal] static void ComplexPointwiseMulAndScale(Complex *, const Complex , int... ^fft.cu:98:42: note: used here (cudaConfigureCall(32, 256)) ? (void)0 : ComplexPointwiseMulAndScale(d_s... ^1 warning generated. Undefined symbols for architecture x86_64:
"ComplexPointwiseMulAndScale(float2, float2 const*, int, float)", referenced from: runTest(int, char**) in tmpxft_0000ddde_00000000-10_fft.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
任意のポインタ(意図なししゃれ):
// Complex data type
typedef float2 Complex;
static __device__ __host__ inline Complex ComplexAdd(Complex, Complex);
static __device__ __host__ inline Complex ComplexScale(Complex, float);
static __device__ __host__ inline Complex ComplexMul(Complex, Complex);
static __global__ void ComplexPointwiseMulAndScale(Complex*, const Complex*, int, float);
私は取得していますエラーは次のようです。
'ComplexPointwiseMulAndScale'はあなたが定義しようとしている関数ですか、あるいはあなたが使っているライブラリで提供されていますか? – 1201ProgramAlarm
どこにも定義が表示されていません。 *本当に定義されていますか?宣言と定義は同じではありません。それがあれば、それはCまたはC++リンケージを持っていますか? – talonmies
私はEclipse IDEの最新バージョンをインストールしている間にそれを戦った後、プロジェクトとその幸せを今作成しました。応答していただきありがとうございます。 –