Сбой связывания командной строки с ошибкой «дубликаты символов» - PullRequest
0 голосов
/ 07 июня 2018

Я ссылаюсь на некоторые C-проекты в моем Package.swift.Недавно я добавил проект, который ссылается на другие C-проекты в своем собственном файле Package.swift, и хотя эти C-проекты отличаются от моих ссылочных проектов, они содержат объектные файлы с одинаковыми именами.Опираясь на командную строку, используя swift build или swift run, я получаю сообщение об ошибке «дубликат символа» во время компоновки.

например,

duplicate symbol _http_message_needs_eof in:
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/CHTTPParser.build/http_parser.c.o
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/PerfectCHTTPParser.build/http_parser.c.o
duplicate symbol _http_should_keep_alive in:
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/CHTTPParser.build/http_parser.c.o
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/PerfectCHTTPParser.build/http_parser.c.o
duplicate symbol _http_parser_execute in:
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/CHTTPParser.build/http_parser.c.o
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/PerfectCHTTPParser.build/http_parser.c.o
duplicate symbol _http_parser_pause in:
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/CHTTPParser.build/http_parser.c.o
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/PerfectCHTTPParser.build/http_parser.c.o
duplicate symbol _http_errno_name in:
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/CHTTPParser.build/http_parser.c.o
    /Users/tyress/private/.build/x86_64-apple-macosx10.10/debug/PerfectCHTTPParser.build/http_parser.c.o

В конце концов сборка завершается с <unknown>:0: error: link command failed with exit code 1 (use -v to see invocation) (это сообщениеотображается даже при сборке с -v)

Сборка на Xcode 9.3 не выдает такой ошибки и нормально работает при отладке.

Есть ли что-нибудь, что я могу сделать, чтобы предотвратить сбой этой сборки с дубликатами?Мне нужно было бы собрать его из командной строки.

...