Visual Studioで作業していた並列プログラムを移動しました。私は、C++の を使用していて、intelコンパイラでコンパイルしています。私は、プロジェクトをLinuxマシンに移して実行する必要があります。そこで私は以下のmakeファイルを作った。並列プログラムは作成しません
parallel: main.o Node.o
icpc -o parallel main.o Node.o
main.o: main.cpp
icpc -c $(CONFIG) main.cpp
Node.o: Node.cpp
icpc -c $(CONFIG) Node.cpp
clean:
rm -f parallel *.o core core.*
CONFIG = -openmp
ただし、この出力が表示されます。なぜそれがWindows上で動作するのかを認識していないのはわかりません。
main.cpp:(.text+0x4e): undefined reference to `__kmpc_begin'
main.cpp:(.text+0xa2): undefined reference to `__kmpc_global_thread_num'
main.cpp:(.text+0xb2): undefined reference to `__kmpc_ok_to_fork'
main.cpp:(.text+0xc9): undefined reference to `__kmpc_fork_call'
main.cpp:(.text+0xdb): undefined reference to `__kmpc_serialized_parallel'
main.cpp:(.text+0xfa): undefined reference to `__kmpc_end_serialized_parallel'
main.cpp:(.text+0x106): undefined reference to `__kmpc_ok_to_fork'
"" "" '"" """
ここで私のプロジェクトは必要ではないと思いますが、
http://bitbucket.org/pumphouse/disjoint-sets-serial-parallel
に変更してください(googleと手動)明白な試みましたか? –
はい。私はこの2日目の答えを検索しようとしました。 – Pumphouse
あなたは試しましたか?http://software.intel.com/en-us/forums/showthread.php?t=64701(検索時のGoogleの最初のリンク) – houbysoft