Fehler: cuda_runtime.h: Keine solche Datei oder Verzeichnis

Lesezeit: 2 Minuten

Benutzer-Avatar
schreier

Wie kann ich gcc zwingen, in /usr/cuda/local/include nach cuda_runtime.h zu suchen?

Ich versuche, eine CUDA-Anwendung mit einem C-Wrapper zu kompilieren. Ich verwende Ubuntu 10.04.

Ich habe meine CUDA-Anwendung mit dem folgenden Befehl erfolgreich in eine .so-Datei kompiliert:

nvcc -arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu

Wenn ich versuche, meine C-Wrapper-Datei mit dem folgenden Befehl zu kompilieren:

gcc -std=c99 -o main -L. -ltest main.c

Ich erhalte den Fehler:

error: cuda_runtime.h: No such file or directory

Ich habe überprüft, dass cuda_runtime.h tatsächlich in /usr/local/cuda/include vorhanden ist

  • Ich nehme an, Sie meinen /usr/local/cuda/include. Haben Sie versucht, einen Schalter -I zu Ihrer gcc-Befehlszeile hinzuzufügen? Beispiel: gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c

    – Robert Crovella

    31. Oktober 2012 um 21:22 Uhr

  • Wenn Sie nichts dagegen haben, posten Sie es bitte als Antwort auf Ihre Frage. Dann akzeptiere es oder ich werde die Antwort positiv bewerten. Vielen Dank.

    – Robert Crovella

    31. Oktober 2012 um 21:38 Uhr

  • Gibt es eine Option, damit es funktioniert, ohne -l hinzuzufügen? Eine Bibliothek gibt mir diesen Fehler

    – Kelu

    6. September 2016 um 10:45 Uhr

Wenn Sie CMake verwenden

find_package(CUDA  REQUIRED)
include_directories("${CUDA_INCLUDE_DIRS}")

Benutzer-Avatar
schreier

Die Verwendung eines Schalters -I ermöglichte es gcc, die Datei cuda_runtime.h zu finden:

gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c

Wir haben CMake verwendet, aber es konnte die Header-Dateien immer noch nicht finden (vielleicht ist es die CMake-Version, die das Verzeichnis nicht finden konnte ./targets/x86_64-linux/include oder weil wir mehrere CUDA-Versionen haben). Einstellung CPATH und LD_LIBRARY_PATH hat es für uns behoben:

export CPATH=/usr/local/cuda-10.1/targets/x86_64-linux/include:$CPATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/targets/x86_64-linux/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.1/bin:$PATH

Benutzer-Avatar
Vidhu

Hinzufügen -isystem /usr/local/cuda-8.0/include in CXX_INCLUDES in der flags.make-Datei.

1205680cookie-checkFehler: cuda_runtime.h: Keine solche Datei oder Verzeichnis

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy