|
1 / 1 / 0
Регистрация: 02.07.2020
Сообщений: 43
|
|
Как работать с FBreader. Не подключается SDK11.11.2021, 21:31. Показов 1424. Ответов 0
Метки нет (Все метки)
Привет форум, столкнулся с проблемой полного игнора импорта библиотеки fbreader.
В качестве урока использовал https://android-tools.ru/codin... eader-sdk/ где, якобы, уже описано как подключить библиотеку. Я подключил нужные maven и dependencies (Миниатюра 1 и 2) Скачал с официального сайта SDK https://sdk.fbreader.org/android.html Распаковал в папку проекта (Миниатюра 3) Но вы итоге происходит это: Кликните здесь для просмотра всего текста
Build file 'G:\Readlia_pdf\fbreader\extras\build.gr adle' line: 5
A problem occurred evaluating project ':fbreader_extras'. > Could not get unknown property 'fbreader_sdk_version' for object of type org.gradle.api.internal.artifacts.dsl.de pendencies.DefaultDependencyHandler. * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':fbreader_extras'. at org.gradle.groovy.scripts.internal.Defau ltScriptRunnerFactory$ScriptRunnerImpl.r un(DefaultScriptRunnerFactory.java:93) at org.gradle.configuration.DefaultScriptPl uginFactory$ScriptPluginImpl.lambda$appl y$0(DefaultScriptPluginFactory.java:133) at org.gradle.configuration.ProjectScriptTa rget.addConfiguration(ProjectScriptTarge t.java:77) at org.gradle.configuration.DefaultScriptPl uginFactory$ScriptPluginImpl.apply(Defau ltScriptPluginFactory.java:136) at org.gradle.configuration.BuildOperationS criptPlugin$1.run(BuildOperationScriptPl ugin.java:65) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:29) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:26) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:75) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:153) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.run(DefaultBuildOpera tionRunner.java:56) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.lambda$run$1(Defaul tBuildOperationExecutor.java:71) at org.gradle.internal.operations.Unmanaged BuildOperationWrapper.runWithUnmanagedSu pport(UnmanagedBuildOperationWrapper.jav a:45) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.run(DefaultBuildOpe rationExecutor.java:71) at org.gradle.configuration.BuildOperationS criptPlugin.lambda$apply$0(BuildOperatio nScriptPlugin.java:62) at org.gradle.configuration.internal.Defaul tUserCodeApplicationContext.apply(Defaul tUserCodeApplicationContext.java:43) at org.gradle.configuration.BuildOperationS criptPlugin.apply(BuildOperationScriptPl ugin.java:62) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.lam bda$applyToMutableState$0(DefaultProject StateRegistry.java:250) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.fro mMutableState(DefaultProjectStateRegistr y.java:277) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.app lyToMutableState(DefaultProjectStateRegi stry.java:249) at org.gradle.configuration.project.BuildSc riptProcessor.execute(BuildScriptProcess or.java:42) at org.gradle.configuration.project.BuildSc riptProcessor.execute(BuildScriptProcess or.java:26) at org.gradle.configuration.project.Configu reActionsProjectEvaluator.evaluate(Confi gureActionsProjectEvaluator.java:35) at org.gradle.configuration.project.Lifecyc leProjectEvaluator$EvaluateProject.lambd a$run$0(LifecycleProjectEvaluator.java:1 00) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.lam bda$applyToMutableState$0(DefaultProject StateRegistry.java:250) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.lam bda$withProjectLock$3(DefaultProjectStat eRegistry.java:310) at org.gradle.internal.work.DefaultWorkerLe aseService.withLocks(DefaultWorkerLeaseS ervice.java:213) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.wit hProjectLock(DefaultProjectStateRegistry .java:310) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.fro mMutableState(DefaultProjectStateRegistr y.java:291) at org.gradle.api.internal.project.DefaultP rojectStateRegistry$ProjectStateImpl.app lyToMutableState(DefaultProjectStateRegi stry.java:249) at org.gradle.configuration.project.Lifecyc leProjectEvaluator$EvaluateProject.run(L ifecycleProjectEvaluator.java:91) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:29) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:26) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:75) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:153) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.run(DefaultBuildOpera tionRunner.java:56) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.lambda$run$1(Defaul tBuildOperationExecutor.java:71) at org.gradle.internal.operations.Unmanaged BuildOperationWrapper.runWithUnmanagedSu pport(UnmanagedBuildOperationWrapper.jav a:45) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.run(DefaultBuildOpe rationExecutor.java:71) at org.gradle.configuration.project.Lifecyc leProjectEvaluator.evaluate(LifecyclePro jectEvaluator.java:63) at org.gradle.api.internal.project.DefaultP roject.evaluate(DefaultProject.java:723) at org.gradle.api.internal.project.DefaultP roject.evaluate(DefaultProject.java:150) at org.gradle.execution.TaskPathProjectEval uator.configure(TaskPathProjectEvaluator .java:41) at org.gradle.execution.TaskPathProjectEval uator.configureHierarchy(TaskPathProject Evaluator.java:69) at org.gradle.configuration.DefaultProjects Preparer.prepareProjects(DefaultProjects Preparer.java:46) at org.gradle.configuration.BuildTreePrepar ingProjectsPreparer.prepareProjects(Buil dTreePreparingProjectsPreparer.java:64) at org.gradle.configuration.BuildOperationF iringProjectsPreparer$ConfigureBuild.run (BuildOperationFiringProjectsPreparer.ja va:52) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:29) at org.gradle.internal.operations.DefaultBu ildOperationRunner$1.execute(DefaultBuil dOperationRunner.java:26) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:75) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:153) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.run(DefaultBuildOpera tionRunner.java:56) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.lambda$run$1(Defaul tBuildOperationExecutor.java:71) at org.gradle.internal.operations.Unmanaged BuildOperationWrapper.runWithUnmanagedSu pport(UnmanagedBuildOperationWrapper.jav a:45) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.run(DefaultBuildOpe rationExecutor.java:71) at org.gradle.configuration.BuildOperationF iringProjectsPreparer.prepareProjects(Bu ildOperationFiringProjectsPreparer.java: 40) at org.gradle.initialization.DefaultGradleL auncher.prepareProjects(DefaultGradleLau ncher.java:226) at org.gradle.initialization.DefaultGradleL auncher.doClassicBuildStages(DefaultGrad leLauncher.java:164) at org.gradle.initialization.DefaultGradleL auncher.doBuildStages(DefaultGradleLaunc her.java:149) at org.gradle.initialization.DefaultGradleL auncher.executeTasks(DefaultGradleLaunch er.java:125) at org.gradle.internal.invocation.GradleBui ldController$1.create(GradleBuildControl ler.java:71) at org.gradle.internal.work.DefaultWorkerLe aseService.withLocks(DefaultWorkerLeaseS ervice.java:213) at org.gradle.internal.invocation.GradleBui ldController.doBuild(GradleBuildControll er.java:67) at org.gradle.internal.invocation.GradleBui ldController.run(GradleBuildController.j ava:56) at org.gradle.tooling.internal.provider.run ner.AbstractClientProvidedBuildActionRun ner.runClientAction(AbstractClientProvid edBuildActionRunner.java:53) at org.gradle.tooling.internal.provider.run ner.ClientProvidedPhasedActionRunner.run (ClientProvidedPhasedActionRunner.java:4 7) at org.gradle.launcher.exec.ChainingBuildAc tionRunner.run(ChainingBuildActionRunner .java:35) at org.gradle.launcher.exec.ChainingBuildAc tionRunner.run(ChainingBuildActionRunner .java:35) at org.gradle.launcher.exec.BuildOutcomeRep ortingBuildActionRunner.run(BuildOutcome ReportingBuildActionRunner.java:66) at org.gradle.tooling.internal.provider.Val idatingBuildActionRunner.run(ValidatingB uildActionRunner.java:32) at org.gradle.tooling.internal.provider.Fil eSystemWatchingBuildActionRunner.run(Fil eSystemWatchingBuildActionRunner.java:90 ) at org.gradle.launcher.exec.BuildCompletion NotifyingBuildActionRunner.run(BuildComp letionNotifyingBuildActionRunner.java:41 ) at org.gradle.launcher.exec.RunAsBuildOpera tionBuildActionRunner$3.call(RunAsBuildO perationBuildActionRunner.java:49) at org.gradle.launcher.exec.RunAsBuildOpera tionBuildActionRunner$3.call(RunAsBuildO perationBuildActionRunner.java:44) at org.gradle.internal.operations.DefaultBu ildOperationRunner$CallableBuildOperatio nWorker.execute(DefaultBuildOperationRun ner.java:200) at org.gradle.internal.operations.DefaultBu ildOperationRunner$CallableBuildOperatio nWorker.execute(DefaultBuildOperationRun ner.java:195) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:75) at org.gradle.internal.operations.DefaultBu ildOperationRunner$3.execute(DefaultBuil dOperationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:153) at org.gradle.internal.operations.DefaultBu ildOperationRunner.execute(DefaultBuildO perationRunner.java:68) at org.gradle.internal.operations.DefaultBu ildOperationRunner.call(DefaultBuildOper ationRunner.java:62) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.lambda$call$2(Defau ltBuildOperationExecutor.java:76) at org.gradle.internal.operations.Unmanaged BuildOperationWrapper.callWithUnmanagedS upport(UnmanagedBuildOperationWrapper.ja va:54) at org.gradle.internal.operations.DefaultBu ildOperationExecutor.call(DefaultBuildOp erationExecutor.java:76) at org.gradle.launcher.exec.RunAsBuildOpera tionBuildActionRunner.run(RunAsBuildOper ationBuildActionRunner.java:44) at org.gradle.launcher.exec.InProcessBuildA ctionExecuter.lambda$execute$0(InProcess BuildActionExecuter.java:59) at org.gradle.composite.internal.DefaultRoo tBuildState.run(DefaultRootBuildState.ja va:86) at org.gradle.launcher.exec.InProcessBuildA ctionExecuter.execute(InProcessBuildActi onExecuter.java:58) at org.gradle.launcher.exec.InProcessBuildA ctionExecuter.execute(InProcessBuildActi onExecuter.java:30) at org.gradle.launcher.exec.BuildTreeScopeL ifecycleBuildActionExecuter.lambda$execu te$0(BuildTreeScopeLifecycleBuildActionE xecuter.java:34) at org.gradle.internal.buildtree.BuildTreeS tate.run(BuildTreeState.java:53) at org.gradle.launcher.exec.BuildTreeScopeL ifecycleBuildActionExecuter.execute(Buil dTreeScopeLifecycleBuildActionExecuter.j ava:33) at org.gradle.launcher.exec.BuildTreeScopeL ifecycleBuildActionExecuter.execute(Buil dTreeScopeLifecycleBuildActionExecuter.j ava:28) at org.gradle.tooling.internal.provider.Con tinuousBuildActionExecuter.execute(Conti nuousBuildActionExecuter.java:104) at org.gradle.tooling.internal.provider.Con tinuousBuildActionExecuter.execute(Conti nuousBuildActionExecuter.java:55) at org.gradle.tooling.internal.provider.Sub scribableBuildActionExecuter.execute(Sub scribableBuildActionExecuter.java:64) at org.gradle.tooling.internal.provider.Sub scribableBuildActionExecuter.execute(Sub scribableBuildActionExecuter.java:37) at org.gradle.tooling.internal.provider.Ses sionScopeLifecycleBuildActionExecuter.la mbda$execute$0(SessionScopeLifecycleBuil dActionExecuter.java:54) at org.gradle.internal.session.BuildSession State.run(BuildSessionState.java:67) at org.gradle.tooling.internal.provider.Ses sionScopeLifecycleBuildActionExecuter.ex ecute(SessionScopeLifecycleBuildActionEx ecuter.java:50) at org.gradle.tooling.internal.provider.Ses sionScopeLifecycleBuildActionExecuter.ex ecute(SessionScopeLifecycleBuildActionEx ecuter.java:36) at org.gradle.tooling.internal.provider.Gra dleThreadBuildActionExecuter.execute(Gra dleThreadBuildActionExecuter.java:36) at org.gradle.tooling.internal.provider.Gra dleThreadBuildActionExecuter.execute(Gra dleThreadBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.Sta rtParamsValidatingActionExecuter.execute (StartParamsValidatingActionExecuter.jav a:59) at org.gradle.tooling.internal.provider.Sta rtParamsValidatingActionExecuter.execute (StartParamsValidatingActionExecuter.jav a:31) at org.gradle.tooling.internal.provider.Ses sionFailureReportingActionExecuter.execu te(SessionFailureReportingActionExecuter .java:58) at org.gradle.tooling.internal.provider.Ses sionFailureReportingActionExecuter.execu te(SessionFailureReportingActionExecuter .java:42) at org.gradle.tooling.internal.provider.Set upLoggingActionExecuter.execute(SetupLog gingActionExecuter.java:47) at org.gradle.tooling.internal.provider.Set upLoggingActionExecuter.execute(SetupLog gingActionExecuter.java:31) at org.gradle.launcher.daemon.server.exec.E xecuteBuild.doBuild(ExecuteBuild.java:65 ) at org.gradle.launcher.daemon.server.exec.B uildCommandOnly.execute(BuildCommandOnly .java:37) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.W atchForDisconnection.execute(WatchForDis connection.java:39) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.R esetDeprecationLogger.execute(ResetDepre cationLogger.java:29) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.R equestStopIfSingleUsedDaemon.execute(Req uestStopIfSingleUsedDaemon.java:35) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.F orwardClientInput$2.create(ForwardClient Input.java:78) at org.gradle.launcher.daemon.server.exec.F orwardClientInput$2.create(ForwardClient Input.java:75) at org.gradle.util.Swapper.swap(Swapper.jav a:38) at org.gradle.launcher.daemon.server.exec.F orwardClientInput.execute(ForwardClientI nput.java:75) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.L ogAndCheckHealth.execute(LogAndCheckHeal th.java:55) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.L ogToClient.doBuild(LogToClient.java:63) at org.gradle.launcher.daemon.server.exec.B uildCommandOnly.execute(BuildCommandOnly .java:37) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.E stablishBuildEnvironment.doBuild(Establi shBuildEnvironment.java:84) at org.gradle.launcher.daemon.server.exec.B uildCommandOnly.execute(BuildCommandOnly .java:37) at org.gradle.launcher.daemon.server.api.Da emonCommandExecution.proceed(DaemonComma ndExecution.java:104) at org.gradle.launcher.daemon.server.exec.S tartBuildOrRespondWithBusy$1.run(StartBu ildOrRespondWithBusy.java:52) at org.gradle.launcher.daemon.server.Daemon StateCoordinator$1.run(DaemonStateCoordi nator.java:297) at org.gradle.internal.concurrent.ExecutorP olicy$CatchAndRecordFailures.onExecute(E xecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedEx ecutorImpl$1.run(ManagedExecutorImpl.jav a:48) at org.gradle.internal.concurrent.ThreadFac toryImpl$ManagedThreadRunnable.run(Threa dFactoryImpl.java:56) Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'fbreader_sdk_version' for object of type org.gradle.api.internal.artifacts.dsl.de pendencies.DefaultDependencyHandler. at org.gradle.internal.metaobject.AbstractD ynamicObject.getMissingProperty(Abstract DynamicObject.java:88) at org.gradle.internal.metaobject.Configure Delegate.getProperty(ConfigureDelegate.j ava:130) at build_2ty6iwb1ozko8q3sxhlc71bxh$_run_clo sure1.doCall(G:\Readlia_pdf\fbreader\ext ras\build.gradle:5) at java.base/jdk.internal.reflect.NativeMethodAccesso rImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccesso rImpl.invoke(NativeMethodAccessorImpl.ja va:62) at java.base/jdk.internal.reflect.DelegatingMethodAcc essorImpl.invoke(DelegatingMethodAccesso rImpl.java:43) at org.gradle.util.ClosureBackedAction.exec ute(ClosureBackedAction.java:71) at org.gradle.util.ConfigureUtil.configureT arget(ConfigureUtil.java:154) at org.gradle.util.ConfigureUtil.configure( ConfigureUtil.java:105) at org.gradle.api.internal.project.DefaultP roject.dependencies(DefaultProject.java: 1230) at jdk.internal.reflect.GeneratedMethodAcce ssor511.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAcc essorImpl.invoke(DelegatingMethodAccesso rImpl.java:43) at org.gradle.internal.metaobject.BeanDynam icObject$MetaClassAdapter.invokeMethod(B eanDynamicObject.java:484) at org.gradle.internal.metaobject.BeanDynam icObject.tryInvokeMethod(BeanDynamicObje ct.java:196) at org.gradle.internal.metaobject.Composite DynamicObject.tryInvokeMethod(CompositeD ynamicObject.java:98) at org.gradle.internal.extensibility.MixInC losurePropertiesAsMethodsDynamicObject.t ryInvokeMethod(MixInClosurePropertiesAsM ethodsDynamicObject.java:34) at org.gradle.groovy.scripts.BasicScript$Sc riptDynamicObject.tryInvokeMethod(BasicS cript.java:135) at org.gradle.internal.metaobject.AbstractD ynamicObject.invokeMethod(AbstractDynami cObject.java:163) at org.gradle.groovy.scripts.BasicScript.in vokeMethod(BasicScript.java:84) at build_2ty6iwb1ozko8q3sxhlc71bxh.run(G:\R eadlia_pdf\fbreader\extras\build.gradle: 3) at org.gradle.groovy.scripts.internal.Defau ltScriptRunnerFactory$ScriptRunnerImpl.r un(DefaultScriptRunnerFactory.java:91) ... 140 more Файл вызывающий ошибку Кликните здесь для просмотра всего текста
apply plugin: 'com.android.library'
dependencies { implementation "androidx.appcompat:appcompat:1.3.1" implementation "org.fbreader:config_client:$fbreader_sd k_version" implementation "org.fbreader:util:$fbreader_sdk_version " implementation "org.fbreader:view:$fbreader_sdk_version " } android { compileSdkVersion project.compile_sdk_version buildToolsVersion project.build_tools_version lintOptions { abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } sourceSets { main.java.srcDirs = ['src/main/java'] main.res.srcDirs = ['src/main/res'] main.manifest.srcFile 'src/main/AndroidManifest.xml' } defaultConfig { minSdkVersion project.min_sdk_version targetSdkVersion project.target_sdk_version versionCode 1 versionName project.fbreader_sdk_version } } Обьясните тупому что не так, уже ОЧЕНЬ много времени на это потратил. Спасибо.
0
|
|
| 11.11.2021, 21:31 | |
|
Ответы с готовыми решениями:
0
PlayGround SDK как работать с ним? Что такое SDK и как с ним работать? Как открыть FBreader Android Studio |
| 11.11.2021, 21:31 | |
|
Помогаю со студенческими работами здесь
1
Open XML SDK 2.5: как через него работать в Excel PhoneGap. Как его использовать? В чем его недостатки по сравнению с Android SDK, Windows Phone SDK, iOS SDK? Windows 8.1 не хочет работать с AudioVideoPlayback.dll directx sdk установлен Nokia c7 epub reader fbreader dorian ionic Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|