看板 C_and_CPP 關於我們 聯絡資訊
這是用 CUDA SDK中的template來改的: 我其該死的 .../../ 都改成 $(NVSDKCUDA_ROOT)了 換目錄也ok 原本的 code是 #ifndef _TEST_KERNEL_H_ #define _TEST_KERNEL_H_ __global__ void testKernel( float* g_idata, float* g_odata) { : } //#endif 想做一個 .cuh 當 header 我就寫了 : #ifndef _TEST_KERNEL_H_ #define _TEST_KERNEL_H_ #if (1) extern "C" { __global__ void testKernel( float* g_idata, float* g_odata); } #else #include <test_kernel.cu> #endif #endif // #ifndef _TEMPLATE_KERNEL_H_ 當然把原本.cu理面的 #ifndef _TEST_KERNEL_H_ 那兩行拿掉 building rules 完全比照 cu 但在 if(1) 時一直都錯啊: unresolved external symbol ___device_stub_testKernel referenced in function "void __cdecl runTest(int,char * *)" 請問是我那裡弄不對,是 header寫錯還是設定錯呢 該怎麼改? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.136.111
gaiger:問題已解決 是CUDA rules沒設好 11/22 01:09