在使用Xcode中的C++命令行工具時,我的可執行文件突然損壞,構建失敗,並且收到Apple Mach-O鏈接程序錯誤。調試企圖大量後,我縮小了問題到這部分代碼:向量結構 - > Apple Mach-O鏈接程序錯誤
struct Word {
std::string word;
int syllCount, phoCount;
std::vector<std::string> syllable, phoneme;
};
struct Unit {
std::string str;
std::vector<int> probs;
};
// **COMMENT OR RECEIVE ERROR HERE**
// std::vector<Word> words;
// std::vector<Unit> units;
只需通過刪除這兩個向量聲明出來的頭文件,所有錯誤消失;然而,我需要那些載體...
我已經閱讀了這個特定的錯誤了一點,但沒有發現是以這種方式造成的。我做了一個業餘的錯誤,還是這是一個不尋常的錯誤。無論哪種方式,任何意見將不勝感激。
這裏順便錯誤消息:
duplicate symbol _words in:
>/Users/DASmithII/Library/Developer/Xcode/DerivedData/Organizer->dviebpebgpvwotbsxuwyhrvulzfi/Build/Intermediates/Organizer.build/Debug/Organizer.build/Object>s-normal/x86_64/main.o
>/Users/DASmithII/Library/Developer/Xcode/DerivedData/Organizer->dviebpebgpvwotbsxuwyhrvulzfi/Build/Intermediates/Organizer.build/Debug/Organizer.build/Object>s-normal/x86_64/Global.o
>duplicate symbol _units in:
>/Users/DASmithII/Library/Developer/Xcode/DerivedData/Organizer->dviebpebgpvwotbsxuwyhrvulzfi/Build/Intermediates/Organizer.build/Debug/Organizer.build/Object>s-normal/x86_64/main.o
>/Users/DASmithII/Library/Developer/Xcode/DerivedData/Organizer->dviebpebgpvwotbsxuwyhrvulzfi/Build/Intermediates/Organizer.build/Debug/Organizer.build/Object>s-normal/x86_64/Global.o
>ld: 2 duplicate symbols for architecture x86_64
>clang: error: linker command failed with exit code 1 (use -v to see invocation)
將'std :: vector'等定義移動到.cpp文件中,並在頭文件中放入'extern std :: vector '等。 –
你應該把它作爲答案,所以它可以被接受 –