2017-05-15 10 views
0

kmeans_seq.cbikmeans_seq.cというファイルがあります。ファイルbikmeans_seq.cには、kmeans_seq.hbikmeans_seq.hの2つのヘッダーが含まれています。複数のヘッダファイルを持つCプログラムをコンパイルするとエラーが発生する

Undefined symbols for architecture x86_64: 
    "_euclidean_dist", referenced from: 
     _points_assignment in bikmeans_seq-5c462b.o 
     _partition_clusters in bikmeans_seq-5c462b.o 
     _standard_deviation in bikmeans_seq-5c462b.o 
    "_find_max", referenced from: 
     _standard_deviation in bikmeans_seq-5c462b.o 
    "_kmeans", referenced from: 
     _main in bikmeans_seq-5c462b.o 
     _partition_clusters in bikmeans_seq-5c462b.o 
    (maybe you meant: _bisecting_kmeans) 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

私はこのエラーが何であるかわからない:私はgcc bikmeans_seq.c -o bikmeansを使用してbikmeans_seq.cをコンパイルするとき、私はこのエラーを取得します。誰かが私になぜこのエラーが出るのかをヒントできますか?ありがとうございました。ソースなし

+1

難しいソースはありません。 [mcve] –

+0

を提供してください。これら2つのCファイルはどのように関連していますか? –

答えて

0

は少し難しいですが、これを試してみてください。これは動作します

gcc -Wall bikmeans_seq.c kmeans_seq.c -o bikmeans 

場合でも、私はメイクファイルを使用することをお勧めします。

希望すると便利です。

+0

私はopがclangを使用していると思います。clang:error:リンカコマンドが終了コード1で失敗しました(呼び出しを見るために-vを使います)。 – Toby

+1

@Toby質問で彼は "When compile bikmeans_seq.c gccを使ってbikmeans_seq.c -o bikmeans私はこのエラーを受け取りましたが、私は同じ疑念を抱いていました –

+1

Appleシステムでなければなりません。彼らはgccからclangに移ったときに完全に物事を乱しましたが、 'gcc'とclangを結びつけました。 Appleのユーザーの80%がgccを使用していると思っています。 – Olaf

関連する問題