Директивы препроцессора появляются в HTML, встроенном в необработанный строковый литерал.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Директивы препроцессора появляются в HTML, встроенном в необработанный строковый литерал.

Сообщение Anonymous »

Следующая проблема:
Я создаю веб-интерфейс для ESP8266. Веб-интерфейс должен отправлять HTTP-запросы к ESP, который затем выполняет код. Моя проблема в том, что я получаю странную информацию о препроцессоре в своем коде JavaScript

Код: Выделить всё

        let buttonHoldInterval;
let speedMultiplier = document.getElementById('speed-slider').value;
document.getElementById('speed-slider').addEventListener('change', function() {
speedMultiplier = this.value;
console.log('Speed multiplier set to ' + speedMultiplier);
fetch('/set-speed/' + speedMultiplier);
})
#line 94 "C:\\Users\\david\\Desktop\\Fomanoch\\fomanoch\\fomanoch.ino"
function handleButtonHold(buttonId, message);
#line 105 "C:\\Users\\david\\Desktop\\Fomanoch\\fomanoch\\fomanoch.ino"
function handleButtonClick(buttonId, message);
#line 94 "C:\\Users\\david\\Desktop\\Fomanoch\\fomanoch\\fomanoch.ino"
function handleButtonHold(buttonId, message) {
document.getElementById(buttonId).addEventListener('mousedown', function() {
console.log(message + ' button pressed');
fetch('/' + buttonId + '/press');
})
Я намеренно не оставил пробелов в ino-коде:

Код: Выделить всё

const char* html = R"rawliteral(
























Light Front
Light Back






let buttonHoldInterval;
let speedMultiplier = document.getElementById('speed-slider').value;
document.getElementById('speed-slider').addEventListener('change', function() {
speedMultiplier = this.value;
console.log('Speed multiplier set to ' + speedMultiplier);
fetch('/set-speed/' + speedMultiplier);
})
function handleButtonHold(buttonId, message) {
document.getElementById(buttonId).addEventListener('mousedown', function() {
console.log(message + ' button pressed');
fetch('/' + buttonId + '/press');
})
document.getElementById(buttonId).addEventListener('mouseup', function() {
console.log(message + ' button released');
fetch('/' + buttonId + '/release');
clearInterval(buttonHoldInterval);
})
}
function handleButtonClick(buttonId, message) {
document.getElementById(buttonId).addEventListener('click', function() {
console.log(message + ' button clicked');
fetch('/' + buttonId);
});
}
handleButtonHold('forward', 'Forward');
handleButtonHold('backward', 'Backward');
handleButtonHold('left', 'Left');
handleButtonHold('right', 'Right');
handleButtonHold('horn', 'Horn');
handleButtonClick('light-front', 'Light Front');
handleButtonClick('light-back', 'Light Back');
document.getElementById('mode-switch').addEventListener('click', function() {
console.log('Mode switch button pressed');
});



)rawliteral";
Я пробовал изменить отступ, установить или удалить точки с запятой и т. д. Пока ничего не помогло. Я рад любой помощи, которую могу получить.
Как воспроизвести ошибку:
Используйте новейшую среду разработки Arduino.
Используйте официальную библиотеку ESP8266.
Загрузите код в ESP и подключитесь к WIFI. (https://sourceb.in/l71sjRog4d)
Откройте веб-сайт ESP
Обновление:
Упомянутые обходные пути не работают т работаю. И даже если бы они это сделали, это не решает реальную проблему, заключающуюся в том, что препроцессор добавляет эти строки в строку. Что еще более важно, это происходит каждые 3–4 проекта. С момента создания этого кода я сделал 8 подобных программ. У двух из них была та же проблема.

Подробнее здесь: https://stackoverflow.com/questions/782 ... ng-literal
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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