Модератор
![]() ![]() |
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Странный код не собирающийся clang-ом15.05.2023, 11:53. Показов 364. Ответов 4
Метки нет Все метки)
(
Решил поиграться с apache log4cxx. Ради интереса решил собрать с помощью clang (а именно clang-cl). Библиотека использует с++17 и студийным (msvc) компилятором собирается без проблем, с теми же настройками. Уже собранная библиотека (как зависимость) в проекте собирается без проблем с помощью clang
При сборке ругается
LOG4CXX_EXPORT в данном случае макро раскрывающееся в пустоту, возможный вариант __declspec(dllexport) Как это исправить? Я не понимаю что тут происходит, так как такой конструкции с template не встречал. Гугл особо не помогает, нашел статью что так делать не стоит, это если по ошибке гуглить, а что это за тема не пойму. IDE подсказывает что макро раскрывается в
Я пока временно исправил так, но думаю что это не правильно
0
|
15.05.2023, 11:53 | |
Ответы с готовыми решениями:
4
Clang-format конфигурация стиля с использованием .clang-format |
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
|
15.05.2023, 12:05 | 2 |
Это не специализация, а явное инстанцирование. https://en.cppreference.com/w/... s_template
А ошибка скорее всего связана с тем, что это инстанцирование сделано в другом нэймспэйсе. Добавлено через 4 минуты Перенести эту строчку в глобальный нэймспэйс.
1
|
Модератор
![]() ![]() |
|||||||||||
15.05.2023, 12:12 [ТС] | 3 | ||||||||||
Теперь IDE выдает предупреждение
Добавлено через 3 минуты Было так в случае из первого сообщения темы
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
|
15.05.2023, 12:17 | 4 |
Вообще это похоже на экспорт инстанса шаблона, если использовать эту библиотеку с тем же с++ рантаймом, с которым она компилировалась, то проблем быть не должно.
Добавлено через 2 минуты
0
|
Вездепух
![]() ![]() ![]() 12860 / 6725 / 1808
Регистрация: 18.10.2014
Сообщений: 17,026
|
||||||
15.05.2023, 16:44 | 5 | |||||
Простейший пример
0
|
15.05.2023, 16:44 | ||||||
Помогаю со студенческими работами здесь
5
Странный код Странный код Странный код
Странный код Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
![]() |
Новые блоги и статьи
![]() |
||||
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
|
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
|
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
|
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
|
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025).
(see screenshots to look at "Etalon" ARM)
|
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
|
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
|
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
|
Node.js 20: Новые возможности и улучшения производительности
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
|
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
|