Привет, я пытался портировать LWIP на новое устройство руки. При компиляции кода получаю сообщение об ошибке:
"lwip/lwip-1.4.0/src/include/lwip/memp_std.h:35:23: error: expected ')' before numeric constant"
Когда я перехожу к этому файлу, я нахожу в этой строке несколько подобных макросов ниже:
LWIP_MEMPOOL(RAW_PCB, MEMP_NUM_RAW_PCB, sizeof(struct raw_pcb), "RAW_PCB")
Если я устраню необходимость в этом макросе с определением деактивации функции RAW, ошибка перейдет к следующему макросу LWIP_MEMPOL().
Определение, перед которым он, кажется, хочет поставить ')', определяется следующим образом:
#define MEMP_NUM_RAW_PCB 1
RAW_PCB не определен, но «объединяется с MEMP_» для создания элемента в перечислении.
Я попытался выполнить все с опцией -E, чтобы получить файлы объектов, которые можно редактировать, и посмотреть, смогу ли я найти какие-либо открытые '(' вокруг областей, где появляется MEMP_RAW_PCB, и замену MEMP_NUM_RAW_PCB на 1, но я не нашел ни одного ручной осмотр еще.
Есть ли какие-либо предложения о том, что здесь может происходить или что еще я могу сделать или искать, чтобы найти причину ошибки?
Возможно, я должен добавить, что до сих пор я не вызывал какой-либо код LWIP из main() или какие-либо функции, используемые в main().
memp_std.h:35
. Проверьте этот код. - person alk   schedule 22.08.2013LWIP_MEMPOOL
? - person lurker   schedule 22.08.2013memp_std.h
многократно #include для создания различных структур, которым нужны записи для каждого пула памяти. Конечно, было бы полезно знать, где вы находитесь в иерархии #include, когда появляется эта ошибка, чтобы вы могли определить, какой вызов#include "lwip/memp_std.h"
вызывает проблему. - person rici   schedule 22.08.2013LWIP_MEMPOOL
отсутствует точка с запятой. Это настоящий код или опечатка в этом вопросе? - person jxh   schedule 22.08.2013