Как мне использовать стандартный стандарт импорта, но при этом включать сторонний заголовок?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как мне использовать стандартный стандарт импорта, но при этом включать сторонний заголовок?

Сообщение Anonymous »

Очевидно, незаконно выполнять импорт std И включать заголовок стандартной библиотеки? Меня это устраивает, я могу сделать и то, и другое, но не могу использовать библиотеку в той же единице перевода, потому что ЭТО включает или ? Так это должно работать?
Я пробовал компилировать на Clang и MSVC, кажется, они не позволяют смешивать эти два компонента, тогда как же включить заголовок из сторонней библиотеки? Есть ли какой-нибудь трюк, например, включение перед импортом или импорт перед включением или что-то в этом роде? Искренне любопытно.
Кроме того, есть ли разница между выполнением этого в модуле или в обычном старом исходном файле? Например, есть ли исключение для фрагмента глобального модуля или чего-то еще? Как насчет простой единицы перевода, которая не является модулем?
Несколько ошибок, которые я получил:

/usr/lib/llvm-22/bin/../include/c++/v1/__ranges/zip_view.h:238:11:
ошибка: предложение require отличается при повторном объявлении шаблона
/usr/lib/llvm-22/bin/../include/c++/v1/__flat_map/flat_map.h:53:10:
примечание: '/usr/lib/llvm-22/bin/../include/c++/v1/__ranges/zip_view.h'
включено несколько раз, дополнительное включение сайта в заголовок из модуля
'std.' 53 | #include
/usr/lib/llvm-22/bin/../include/c++/v1/__ranges/zip_view.h:206:9:
ошибка: переопределение концепции '__zip_all_forward' с другими
параметрами или требованиями шаблона 206 | Concept __zip_all_forward
= (forward_range && ...);

Другой пример из моего проекта:
// In a cpp file

#define STB_IMAGE_RESIZE_IMPLEMENTATION
#include "stbi_resize.h"
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stbi_write.h"
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"

import std; // How am I supposed use this if those headers include the standard library headers?


Подробнее здесь: https://stackoverflow.com/questions/798 ... rty-header
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»