私はSwiftプロジェクト(Xcode 9.1、macOS 10.13)を持っていて、SwiftでCファイルのヘッダーをブリッジすることで、自分のCライブラリとViewController.swiftをリンクしようとしました。Apple Mach-O Linkerエラー_
しかし、comilationエラーが発生し、これが出力されました:私は間違って
Undefined symbols for architecture x86_64: "_HTS_Engine_clear", referenced from: _Flite_HTS_Engine_clear in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_clear) "_ffeature_string", referenced from: _create_label in flite_hts_engine.o _Flite_Text_Analyzer_get_phoneme in flite_hts_engine.o _Flite_Text_Analyzer_get_word in flite_hts_engine.o "_val_string_n", referenced from: _create_label in flite_hts_engine.o "_HTS_Engine_initialize", referenced from: _Flite_HTS_Engine_initialize in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_initialize) "_HTS_Engine_set_speed", referenced from: _Flite_HTS_Engine_set_speed in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_speed) "_register_cmu_us_kal", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o "_relation_head", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o _Flite_Text_Analyzer_get_label_data in flite_hts_engine.o "_item_next", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _create_label in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o _Flite_Text_Analyzer_get_label_data in flite_hts_engine.o "_utt_relation", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o _Flite_Text_Analyzer_get_label_data in flite_hts_engine.o "_HTS_Engine_refresh", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o "_HTS_Engine_set_volume", referenced from: _Flite_HTS_Engine_set_volume in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_volume) "_delete_utterance", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o _Flite_Text_Analyzer_clear in flite_hts_engine.o "_unregister_cmu_us_kal", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o _Flite_Text_Analyzer_clear in flite_hts_engine.o "_HTS_Engine_save_riff", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o "_flite_synth_text", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o _Flite_Text_Analyzer_analysis in flite_hts_engine.o "_HTS_Engine_set_msd_threshold", referenced from: _Flite_HTS_Engine_set_msd_threshold in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_msd_threshold) "_HTS_Engine_set_beta", referenced from: _Flite_HTS_Engine_set_beta in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_beta) "_HTS_Engine_add_half_tone", referenced from: _Flite_HTS_Engine_add_half_tone in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_add_half_tone) "_val_string", referenced from: _create_label in flite_hts_engine.o "_HTS_Engine_set_alpha", referenced from: _Flite_HTS_Engine_set_alpha in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_alpha) "_HTS_Engine_set_gv_weight", referenced from: _Flite_HTS_Engine_set_gv_weight in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_gv_weight) "_HTS_Engine_synthesize_from_strings", referenced from: _Flite_HTS_Engine_synthesize in flite_hts_engine.o "_HTS_Engine_set_sampling_frequency", referenced from: _Flite_HTS_Engine_set_sampling_frequency in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_sampling_frequency) "_HTS_Engine_set_fperiod", referenced from: _Flite_HTS_Engine_set_fperiod in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_fperiod) "_ffeature_int", referenced from: _create_label in flite_hts_engine.o _Flite_Text_Analyzer_get_nphoneme_in_syllable in flite_hts_engine.o _Flite_Text_Analyzer_get_nsyllable_in_word in flite_hts_engine.o _Flite_Text_Analyzer_get_nword_in_phrase in flite_hts_engine.o _Flite_Text_Analyzer_get_nphrase_in_utterance in flite_hts_engine.o _Flite_Text_Analyzer_get_accent in flite_hts_engine.o _Flite_Text_Analyzer_get_stress in flite_hts_engine.o ... "_HTS_Engine_load", referenced from: _Flite_HTS_Engine_load in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_load) "_HTS_Engine_set_audio_buff_size", referenced from: _Flite_HTS_Engine_set_audio_buff_size in flite_hts_engine.o (maybe you meant: _Flite_HTS_Engine_set_audio_buff_size) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
何をしているのですか? DerivedData上のすべてのファイルを削除しようとしましたが、同じプロジェクト(Clean/By)でクリーニングしても問題は変わりませんでした。
hts_engineLibのすべてのライブラリにソースファイルを追加した後、リンカのエラーが消えて、6つのコンパイルエラーが表示されますが、それを修正しますが、66回のリンカエラーが発生します。オブジェクトファイル(.o)をすべてのソースファイルに追加しようとしましたが、エラーはまだ発生します。 Cワッパー、.cと.hファイルでCラッパーを書く方法は? – NoraQm
典型的なコンパイルエラーとリンカエラーは何ですか?どのようにしてコンパイルの問題を修正しましたか? .oファイルをプロジェクトに追加しましたか?それは決して行われるべきではありません、彼らはソースコードではありません。最初にhtsEngineLibの周りにラッパーを作成しようとしたのはなぜですか?インターフェイスを簡素化するために、またはC++のlibですか? SOとWebには、一般にラッパーを書くことに関する多くの情報があります。 – OmniProg