ВНИМАНИЕ! На форуме начался конкурс - астрофотография месяца ЯНВАРЬ!
0 Пользователей и 1 Гость просматривают эту тему.
// Данные: Солнце double mSun = 1.989e30; // Данные: Земля double mEarth = 5.972e24; double distEarth = 1.496e11; // 1 АЕ double vEarth = 29780.0; // Орбитальная скорость ~30 км/с // Добавляем тела (Позиция X, Y; Скорость VX, VY) // Солнце в центре (0,0), скорость 0 physics.addBody(CelestialBody("Sun", mSun, 696340000, Qt::yellow, {0, 0}, {0, 0})); // Земля справа (dist, 0), летит вверх (0, v) physics.addBody(CelestialBody("Earth", mEarth, 6371000, Qt::blue, {distEarth, 0}, {0, vEarth}));
struct CelestialBody { QString name; double mass; // Масса в кг double radius; // Радиус тела (для отрисовки) QColor color; // Векторы состояния (используем 2D для MVP) Eigen::Vector2d position; // Позиция (м) Eigen::Vector2d velocity; // Скорость (м/с) Eigen::Vector2d acceleration; // Ускорение (м/с^2)
The error indicates that the vcpkg instance you are using (likely one bundled with Visual Studio) requires your project to be inmanifest mode, which means it needs a vcpkg.json file with a specified builtin-baseline. You can resolve this error using one of the following methods:Method 1: Automatically add a builtin-baseline (Recommended) Navigate to your project's root directory in your command prompt and run the following experimental command. This will automatically generate a vcpkg.json file if one doesn't exist, and add the necessary builtin-baseline field pointing to a recent commit hash. bashvcpkg x-update-baseline --add-initial-baselineAfter running this command, you can add your required dependencies to the generated vcpkg.json file. Method 2: Manually add a builtin-baselineIf you prefer to manage the file manually, follow these steps: Ensure a vcpkg.json file exists in your project's root directory. If not, you can create one using vcpkg new --application. Open the vcpkg.json file in a text editor. Add the "builtin-baseline" property to the JSON object. You will need a valid Git commit hash from the main vcpkg repository for the value. You can often find a recent one in the vcpkg documentation or by checking recent commits on the vcpkg GitHub repository.Example vcpkg.json: json{ "name": "your-project-name", "version-string": "1.0.0", "dependencies": [ "your-first-dependency", "your-second-dependency" ], "builtin-baseline": "0ca64b4e1c70fa6d9f53b369b8f3f0843797c20c"}(Replace the commit hash with a more current one if desired). Method 3: Use a standalone vcpkg instance (Alternative) The error often occurs when using a copy of vcpkg bundled with Visual Studio that is configured for manifest mode only. If you have a separate, standalone vcpkg installation, you can switch to using that one: Set the VCPKG_ROOT environment variable to point to your standalone vcpkg directory. Alternatively, unset the VCPKG_ROOT variable and invoke vcpkg using its full path, e.g., C:\src\vcpkg\vcpkg.exe install <package>.
{ "dependencies": [ "qtbase", "qttools", "eigen3" ]}
double r_mass; // обратная для деления умножением
physics.step(dt);
"Готовые исполняемые файлыВ репозитории доступны готовые сборки:build/release/SolarSimMVP.exe - готовая к использованию версия с включенными зависимостями"На гитхабе надо релиз публиковать - там под это все в наличии. И тег поставить для отметки времени и автосборки сорсов под релиз по этому тегу.И описание там к релизу тоже добавить полезно.
Если для работы релиза нужны внешние длл - их надо или прикладывать в архив к релизу (допустимо вроде для релизов на гитхабе если лицензии на те длл дают дозвол так делать) или нужны ссылки откуда их брать и вручную ставить-класть куда надо. Обычно загрузчик длл ищет в текущем рабочем каталоге если оно указано к загрузке в исполняемом файлике.
6.2. Оптимизация для работы с большими данными• Программа должна эффективно справляться с большими объёмами данных, такими как расчёт орбит для тысяч объектов на длительные временные интервалы.А че там будет такое большое.
При компиляции постоянно теряет какие - то dll файлы, пытается их найти
А где брать те файлы ? Можно их приложить к релиз архиву на гитхабе чтобы пользователи уже могли скачать-распаковать и запустить пробовать ? Может у кут6 какой редистрибутабл есть от производителя чтобы скачать-поставить как обязательную зависимость ?Кут вроде можно статически линковать чтобы все в одном было - https://doc.qt.io/qt-6/deployment.html . Надо может роботу дать команду так попробовать вариант сделать.
Робот был проспонсирован хозяевами кут и теперь намекает на потребность заплатить хозяевам кут за покупку лицензии. И еще и забывает это вписать в требования для работы програмы. Фуу.Надо требовать от робота написать безплатную програму на сях. Без платных зависимостей.
vcpkg integrate install
vcpkg install
Дык менеджер безплатный. Но пакет кут платный. Пусть перепишет на безплатные пакеты.
F = G * m1 * m2 / r^2
Проект полностью соответствует требованиям Этапа 1
с высокой точностью (до 3-4 значащих цифр), что более чем достаточно для физически корректной симуляции N-тел.
А релиз исполняемый для вин х86 (х64) по этому этапу будет ? Чтобы посмотреть как оно со всем нужным выглядит одним файликом релизным для менее чем упорото програмерских потребителей.
только что доделал 3d