سؤال

أقوم بتشغيل Windows 7 64bit، مع Visual Studio 2008. لقد قمت بتثبيت برامج تشغيل CUDA و SDK. يأتي SDK مع عدد قليل من الأمثلة بما في ذلك الملفات التنفيذية المترجمة وتعويض المصدر. تعمل الملفات التنفيذية المترجمة رائعة. عندما أفتح حلول VC90 وتذهب إلى Build في تكوين Win32، أحصل على هذا الخطأ:

Error   1   fatal error LNK1181: cannot open input file '.\Release\bandwidthTest.cu.obj'    bandwidthTest   bandwidthTest

بناء سجل:

1>------ Build started: Project: bandwidthTest, Configuration: Release Win32 ------
1>Compiling with CUDA Build Rule...
1>"C:\CUDA\bin64\nvcc.exe"    -arch sm_10 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"    -Xcompiler "/EHsc /W3 /nologo /O2 /Zi   /MT  " -I"C:\CUDA\include" -I"../../common/inc" -maxrregcount=32  --compile -o "Release\bandwidthTest.cu.obj" "c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\bandwidthTest\bandwidthTest.cu" 
1>nvcc fatal   : Visual Studio configuration file '(null)' could not be found for installation at 'c:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/../..'
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file '.\Release\bandwidthTest.cu.obj'
1>Build log was saved at "file://c:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\bandwidthTest\Release\BuildLog.htm"
1>bandwidthTest - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

إذا حاولت الترجمة في x64، فلا تبني على الإطلاق ويتخطى المشروع

1>------ Skipped Build: Project: bandwidthTest ------
1> 
========== Build: 0 succeeded or up-to-date, 0 failed, 1 skipped ==========

أنا جديد على C ++، بعد أن كنت تفعل C # لفترة من الوقت. أنا مؤكد أن هناك شيئا صغيرا أنني في عداد المفقودين، لكن أي أدلة يمكن أن تقدمها ستكون موضع تقدير.

هل كانت مفيدة؟

المحلول

تحقق مما إذا كان لديك محمول X64 مثبت. ثم قم بتغيير نوع المشروع إلى x64. كان لدي نفس المشكلة عند محاولة ترجمة برنامج 32BIT CUDA مع 64bit Win7.

تأكد أيضا من أنك أضفت 64 بت ليبس وتشمل إلى مسار البحث.

نصائح أخرى

أنت تركز على رسالة الخطأ الخاطئة.

ملف .obj غير موجود لأن خطوة compile nvcc فشلت.

nvcc fatal   : Visual Studio configuration file '(null)' could not be found for installation at 'c:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/../..'

تحتاج إلى التأكد من أن جميع أدوات المطابقة. لذلك إذا كان لديك برنامج مترجم Visual Studio 64 بت مثبتا، فعليك تثبيت إصدار 64 بت من مجموعة أدوات CUDA.

إذا كان لديك فقط برنامج التحويل البرمجي Visual Studio 32 بت، فيجب أن تكون قادرا على تثبيت مجموعة أدوات CUDA 32 بت. من الناحية المثالية، يمكنك تثبيت جميع أدوات 64 بت. ثم ستتمكن من إنشاء أمثلة 64 بت و 32 بت (متقاطعة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top