mbed HTTPText — конструктор по умолчанию не существует

Я использую mbed LPC1768, хотя проблема не связана с оборудованием. Я пытаюсь использовать стандартный пример ниже, чтобы проверить HTTP-клиента на LPC1768. Я ничего не изменил в этом примере (я видел его в Интернете, но первоначально нашел в книге «Быстрое и эффективное проектирование встроенных систем»).

#include "mbed.h"#include "EthernetNetIf.h"#include "HTTPClient.h"
EthernetNetIf eth(
IpAddr(192,168,0,101),
IpAddr(255,255,255,0),
IpAddr(192,168,0,1),
IpAddr(192,168,0,1)
);

HTTPClient http;
HTTPText txt;

Serial pc (USBTX, USBRX);

int main() {
pc.printf("\r\nSetting up network connection...\n\r");
eth.setup();
pc.printf("\n\nSetup OK. Querying data...\r\n");

// attempt to access file 'mbedclienttest.txt' through the Internet...
HTTPResult r=http.get("http://www/embeddedacademic.com/mbed/mbedcllienttest.txt", &txt);
pc.printf("Result: \n\r\"%s\"\n\r", txt.gets());
}

Все это кажется довольно простым, однако я постоянно получаю следующие ошибки:

Error: No default constructor exists for class "HTTPText" in "main.cpp", Line: 13, Col: 11
Error: Class "HTTPText" has no member "gets" in "main.cpp", Line: 24, Col: 46

Я не знаю почему. Я имею в виду, я понимаю ошибки, но конструктор существует в HTTPText, и в файле HTTPText также есть метод gets, поэтому я действительно не понимаю, почему у меня здесь проблема. Файлы HTTPText.cpp / .h находятся в data каталог в HTTPClient, Я думаю, что вторая проблема вполне может пройти, если я знаю причину первой.

В окне кодирования, когда он говорит вам, где находятся функции, он указывает на правильное место, поэтому я не думаю, что это тот случай, когда есть два разных класса или что-то в этом роде.

Ни у кого, похоже, не было этой проблемы, поэтому я предполагаю, что это, скорее всего, связано с тем, что я сделал / не сделал. Возможно, это связано с тем, как среда разработки mbed обрабатывает вещи. Я относительно новичок в системе, поэтому все еще выясняю это.

В качестве дополнительного примечания, если по какой-то удивительной причине это имеет значение, мне пришлось включить в папку программы библиотеки EthernetInterface и mbed-rtos, поскольку одна из других библиотек, казалось, требовала определенной версии TCPSocketConnection и некоторых вещей lwip. ,

Я сделал что-то глупое? Похоже, что это работает для других людей без вопросов в онлайн-примерах. Любая помощь приветствуется.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]