Я установил CUDA 5.0 и Arrayfire 1.9, и когда я скомпилировал файлы примеров, они отлично работают.
Если я попытаюсь настроить свой собственный проект в другой папке, я получу ошибку времени выполнения, когда попытаюсь использовать что-либо, связанное с пространством имен af. Я получаю ту же ошибку, если буквально скопирую папку примера hello-world в другое место и попытаюсь скомпилировать ее оттуда. Это на что-то указывает, но я не знаю на что, потому что у меня мало опыта использования внешних библиотек.
Ошибка: «Не удалось правильно запустить приложение (0xc000007b). Нажмите «ОК», чтобы закрыть приложение».
Мой вывод отладки:
CODE: SELECT ALL
'DerdePoging.exe': Loaded 'C:\Users\######\Dropbox\Public\2D_CUDA_UNWRAPPER\Unwrapper_ArrayFire\DerdePoging\Debug\DerdePoging.exe', Symbols loaded.
'DerdePoging.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'DerdePoging.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'DerdePoging.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
The program '[5588] DerdePoging.exe: Native' has exited with code -1073741701 (0xc000007b).
Я заметил, что мои переменные CUDA_LIB_PATH и CUDA_BIN_PATH и CUDA_INC_PATH не существуют (хотя я создал полнофункциональные приложения, использующие CUDA), поэтому я создал их (указав на соответствующие папки в моем каталоге установки Cuda). Это ничего не решило, даже не ожидал.
Текущие переменные среды:
AF_PATH=C:\Program Files\AccelerEyes\ArrayFire\1.9
CUDA_BIN_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin
CUDA_LIB_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib
CUDA_INC_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\
CUDA_PATH_V5_0=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\
Эти первые 3 могли бы использовать \, хотя ничего не изменилось, когда я добавил эти переменные, поэтому я не думаю, что это имеет значение.
Я думаю, что упускаю какой-то важный шаг при создании своего проекта VS2010. StackOverflow говорит мне, что это, вероятно, отсутствует .dll среды выполнения. Ключевое значение здесь имеет то, что примеры работают нормально, но не работают в разных местах. Я думаю, что это сужает его до некоторого пути включения, который определяется относительным, а не абсолютным.
Не уверен, что актуально, но все равно напишу здесь:
с использованием NVIDIA GeForce 540M с 1 ГБ памяти. Двухъядерный процессор Intel i5 2410M. (Асус к53св)
Заранее спасибо.
Обновлять:
выполнение этих точных шагов дает следующую ошибку:
1>Release\main.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Обновлять:
Я попытаюсь заставить его работать в VS2010 Professional, который содержит конфигурацию сборки x64.
Заключительное обновление: хорошо, если бы мне пришлось объяснять это самому себе в прошлом (поэтому этот пост имеет некоторую ценность для людей, у которых такая же ошибка), я бы сказал следующее: после каждого отдельного шага настройки в VS2010 (иначе они не будут сохранены) - получить VS2010 Pro чтобы вы могли выбрать платформу x64 (это критично и, вероятно, вызвало первую ошибку, 2012 НЕ работает должным образом )