2012-03-04 12 views
1

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

+1

に変更してください(googleと手動)明白な試みましたか? –

+0

はい。私はこの2日目の答えを検索しようとしました。 – Pumphouse

+0

あなたは試しましたか?http://software.intel.com/en-us/forums/showthread.php?t=64701(検索時のGoogleの最初のリンク) – houbysoft

答えて

4

あなたは-openmpとリンクされていません。 2行目を

icpc $(CONFIG) -o parallel main.o Node.o 
+0

私はあなたを愛しています。私は今これを試してみるつもりです。もしこれが成功すれば、私はあなたの歴史を投票します。 – Pumphouse

+0

それは働いた。私はとても愚かです。 12時間後。ありがとう。 – Pumphouse

+2

@Pumphouse:Googleを使用した場合、これが最初のヒットとなりました。 – houbysoft

関連する問題