Я пытаюсь создать приложение с помощью clang++-17 и собственной библиотеки libc++ для x64 Linux. Однако последняя ссылка приложения не работает
/usr/bin/ld: ~/workspace/usr/lib64/somearchive.a(somearchive.cpp.o): неопределенная ссылка на символ '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21'
/usr/bin/ld: /lib/x86_64-linux-gnu/libstdc++.so.6: ошибка при добавлении символов: в командной строке отсутствует DSO
clang++-17 : error: команда компоновщика завершилась неудачей с кодом завершения 1 (используйте -v, чтобы увидеть вызов)
Теоретически, libstdc++ должен предоставлять следующие символы:
user@user-Precision-7510:~/Desktop$ строки /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
GLIBCXX_3.4.21
user@user-Precision-7510:~/Desktop$ strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
GLIBCXX_3.4.21
user@user-Precision-7510:~/Desktop$
К сожалению, я не могу запретить связывание некоторых внешних библиотек против libstdc++.
Добавление -lstdc++ к последнему вызову clang++ не помогает.
Есть идеи? С уважением.
Редактировать: я удалил вызов clang, который генерирует система сборки, за исключением некоторых слишком показательных имен библиотек:
/usr/bin/clang++-17 -std=c++11 -std=c++17 -fno-delete-null-pointer-checks -Wall -Wextra -Werror -Wno-error=deprecated-declarations -Wno-error=unused-parameter -Wno-error=unused-function -Wno-error=unused-command-line-argument -Wno-error=inaccessible-base -Wno-error=format-security -Wno-error=unused-private-field -Wno-error=unused-variable -Wno-error=inconsistent-missing-override -Wno-error=defaulted-function-deleted -Wno-error=overloaded-virtual -Wno-error=pessimizing-move -Wno-error=maybe-uninitialized -Wno-error=sometimes-uninitialized -Wno-error=conversion -Wno-unknown-warning-option -fsanitize=memory -fsanitize-recover=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -stdlib=libc++ -I/home/user/instrumentedlibcpp/llvm-project/msan_out/include -I/home/user/instrumentedlibcpp/llvm-project/msan_out/include/c++/v1 -Wno-error=odr -Wno-error=maybe-uninitialized -g -O2 -fsanitize=memory -fsanitize-recover=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -ldl -lpthread -L/home/user/instrumentedlibcpp/llvm-project/msan_out/lib -lc++abi -Wl,-rpath-link= -o ../result/exe/outputexe -Wl,-rpath, -latomic -lstdc++fs -Wl,--start-group < large list of shared object files > -Wl,--end-group
Подробнее здесь: https://stackoverflow.com/questions/787 ... traitsices
Неопределенная ссылка на символ '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21' ⇐ C++
Программы на C++. Форум разработчиков
1720291575
Anonymous
Я пытаюсь создать приложение с помощью clang++-17 и собственной библиотеки libc++ для x64 Linux. Однако последняя ссылка приложения не работает
/usr/bin/ld: ~/workspace/usr/lib64/somearchive.a(somearchive.cpp.o): неопределенная ссылка на символ '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21'
/usr/bin/ld: /lib/x86_64-linux-gnu/libstdc++.so.6: ошибка при добавлении символов: в командной строке отсутствует DSO
clang++-17 : error: команда компоновщика завершилась неудачей с кодом завершения 1 (используйте -v, чтобы увидеть вызов)
Теоретически, libstdc++ должен предоставлять следующие символы:
user@user-Precision-7510:~/Desktop$ строки /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
GLIBCXX_3.4.21
user@user-Precision-7510:~/Desktop$ strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.21
GLIBCXX_3.4.21
user@user-Precision-7510:~/Desktop$
К сожалению, я не могу запретить связывание некоторых внешних библиотек против libstdc++.
Добавление -lstdc++ к последнему вызову clang++ не помогает.
Есть идеи? С уважением.
Редактировать: я удалил вызов clang, который генерирует система сборки, за исключением некоторых слишком показательных имен библиотек:
/usr/bin/clang++-17 -std=c++11 -std=c++17 -fno-delete-null-pointer-checks -Wall -Wextra -Werror -Wno-error=deprecated-declarations -Wno-error=unused-parameter -Wno-error=unused-function -Wno-error=unused-command-line-argument -Wno-error=inaccessible-base -Wno-error=format-security -Wno-error=unused-private-field -Wno-error=unused-variable -Wno-error=inconsistent-missing-override -Wno-error=defaulted-function-deleted -Wno-error=overloaded-virtual -Wno-error=pessimizing-move -Wno-error=maybe-uninitialized -Wno-error=sometimes-uninitialized -Wno-error=conversion -Wno-unknown-warning-option -fsanitize=memory -fsanitize-recover=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -stdlib=libc++ -I/home/user/instrumentedlibcpp/llvm-project/msan_out/include -I/home/user/instrumentedlibcpp/llvm-project/msan_out/include/c++/v1 -Wno-error=odr -Wno-error=maybe-uninitialized -g -O2 -fsanitize=memory -fsanitize-recover=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -ldl -lpthread -L/home/user/instrumentedlibcpp/llvm-project/msan_out/lib -lc++abi -Wl,-rpath-link= -o ../result/exe/outputexe -Wl,-rpath, -latomic -lstdc++fs -Wl,--start-group < large list of shared object files > -Wl,--end-group
Подробнее здесь: [url]https://stackoverflow.com/questions/78712568/undefined-reference-to-symbol-znkst7-cxx1112basic-stringicst11char-traitsices[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия