親愛なるインターネットの皆様、こんにちは。
そこで、ここにある clAmdFft ライブラリをダウンロードしました。
私も先に進んでこれを行いました(ソースファイル/ライブラリをコンパイラ/システムパスに追加します)。ここに彼らは事後です:
echo $LIBRARY_PATH
/usr/lib:/opt/clAmdFft-1.10.321/lib64:/usr/lib:
echo $C_INCLUDE_PATH
/opt/clAmdFft-1.10.321/include:
echo $LD_LIBRARY_PATH
/opt/clAmdFft-1.10.321/lib64:/opt/clAmdFft-1.10.321/lib32:/usr/lib:/usr/local/cuda/lib64:/usr/local/cuda/lib::/opt/clAmdFft-1.10.321
このライブラリを使用したい .cpp ファイルの 1 つを次に示します。
// AMD APPML FFT
#include <clAmdFft.h>
// IVE TRIED THESE TOO
//#include "clAmdFft.h"
//#include <clAmdFft>
そして最後に、これが私のシュガースイートの Makefile です (ここで複雑なことは何もありません。私はこれまで一貫してこのように行ってきました)。
#
#
# Compile Super Mega Awesome Program For Winners
#
#
#
# -std=c++0x is required for using <chrono>
objects = L1.o L2.o L3.o
sharedObjects = SL1.so
exec = SL1
GCC=gcc
GPP=g++
CFLAGS= -I /usr/local/cuda/include -g
LDFLAGS = -L /usr/lib -lOpenCL
# This apparently addresses linking problems w/ clAmdFft & NVIDIA drivers
LDFLAGS += -Wl,--unresolved-symbols=ignore-in-shared-libs
SL1:
$(GPP) $(CFLAGS) -o L1.o -c -std=c++0x -fPIC main.cpp
$(GPP) $(CFLAGS) -o L2.o -c -fPIC L2.cpp
$(GPP) $(CFLAGS) -o L3.o -c -fPIC L3.cpp
$(GPP) $(CFLAGS) -Wall -shared -o $(sharedObjects) $(objects)
$(GPP) $(sharedObjects) -o $(exec) -g $(LDFLAGS)
.PHONY : clean
clean:
rm $(objects) $(sharedObjects) $(exec)
#EOF
では、親愛なるインターネットの皆さん、なぜ次のエラーが表示されるのでしょうか?
L3.cpp:24:22: fatal error: clAmdFft.h: No such file or directory
compilation terminated.
つまり、これは非常に簡単に思えます。このサイトと一般的なグーグルをざっと読んだ後、なぜこれが正しく機能しないのかについて、確かな答えが見つからないようです。皆さんが助けてくれることを願っています! ありがとう。