Здравствуйте, KArtin, Вы писали:
KA>Ну, это не серьезно: Установить несколько гигабайт “опасных” библиотек,
В чём же опасность, этих библиотек, в данном контексте?
KA>и тем самым предоставить возможность ими воспользоваться(например, по забывчивости) и испортить платформо-независимость проекта.
Всё дело в том, что на C++ конечный разработчик — всегда может пользоваться всем тем, чем захочет.
Вне зависимости от Вашего (как автора библиотеки) желания.
Так, например, я хочу пользоваться в одном и том же проекте, и Qt-5 и boost 1.65.1 (пример я притащил за уши, естественно), но ведь авторы Qt-5 не могут запретить мне пользоваться бустом
KA>Извините, но... не хочу иметь "опасные" библиотеки в моей системе.
KA>Все хвалят Visual C++ за скорость и бесплатность. Неужели нет сборок без Windows SDK ?
Чем лично Вам мешает Windows SDK ?
Просто — не включайте его ни в заголовочники, ни в линкуемые бибилиотеки.
После чего — можете о нем спокойно забыть!
P.S. Для уверенности, я бы (на Вашем месте) разрабатываемую в той же Visual Studio библиотеку, откомпилировал бы на QtCreator в Ubuntu (там Windows SDK уж точно нет).
В том случае, каогда Ваш тестовый проект, использующий Вашу библиотеку, нормально работает как в Windows, так и в Ubuntu — независимость от Windows SDK можем считать доказанной!
Здравствуйте, KArtin, Вы писали:
KA>Вот имено так и хочу, проверять разными компиляторами на совместиомть С++ кода.
Если вы сидите на винде и вам нужна постоянная сборка парой компиляторов, то проще всего такой сценарий:
1. Ставите MSVC Community edition
2. Cтавите QtCreator, но содержит MinGW (aka gcc) и, скорее всего, "заметит" компилятор от MSVC.
3. В качестве средства сборки используйте CMake.
Но судя по вопросам для вас настройка нескольких toolchain'ов и использование чего-то типа CMake или QBS будет сложной задачей.
KA>Мне стыдно, но я не знаю, какие "лишние" ....
Ясно-понятно, скорее-всего стиль работы у вас такой: google + "как открыть файл C++" + copy-paste.
Можете каждый заговолок или функцию перед включением проверять на http://www.cplusplus.com/.
Здравствуйте, KArtin, Вы писали:
KA>Добрый день.
KA>Моя задача: Написать математическую библиотеку на языке C++ KA>Важное условие: Исходники д.б. на чистом платформо-независимом C++ коде (как в ISO стандарте 11, 14, 17) чтоб в будущем эту библиотеку можно было подключать к любой платформе и использовать с любым диалектом C++
Пишите в чём угодно: что Студия, что Блокнот или Far. А вот компилировать уже надо
1) на разных ОС (Win/Linux)
2) под разными компиляторами (VC++, GCC, далее по вкусу)
3) под разными системами сборок (хотя бы Autotools и CMake)
Здравствуйте, KArtin, Вы писали:
KA>Другими словами, я ищу аналог MinGW (без Windows SDK, и без других Windows библиотек) но с компилятором Visual C++
Немного оффтоп. Но тоже как-то с темой связано.
Попрошу использовать для разработки этой библиотеки beautiful capi — https://github.com/PetrPPetrov/beautiful-capi
Это для того, чтобы, скажем, my_cool_library.dll, скомпилированную на Visual Studio 2019 можно было использовать на Visual Studio 2003 или при помощи компилятора Borland для Windows.
Да, есть MS COM, и всякие клоны типа IFX COM, но там технология тяжеловата, а bcapi заточена только для внутрипроцессного использования .dll.
Если возникнут вопросы — с радостью отвечу.
Здравствуйте, KArtin, Вы писали:
KA>Добрый день.
KA>Моя задача: Написать математическую библиотеку на языке C++ KA>Важное условие: Исходники д.б. на чистом платформо-независимом C++ коде (как в ISO стандарте 11, 14, 17) чтоб в будущем эту библиотеку можно было подключать к любой платформе и использовать с любым диалектом C++ KA>Сейчас пробую разные варианты бесплатных компиляторов, в т.ч. Visual C++
Как вариант, можно скачать готовые образы с macos, linux, windows с рутрекера, и в них компилировать.
Если на компе 10-я винда, можно поставить ubuntu на LXSS, и компилить под убунту на винде.
Установить на винду clang
Я так делаю (с lxss), поначалу вообще было тяжко — на маке собирается, на винде собирается, на линуксе нет, то хидер не подключил, то pthreads, но в итоге все решилось, и собирается на всех системах