- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I'm working on a project for school that will be using lwIP, and I need to familiarize myself with how it works. For now I'm just trying to write a simple test program. It doesn't even do anything yet, but I cannot for the life of me get it to compile:
#include "lwip\udp.h"
void udp_packet_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port);
main(){
// Create a new pcb.
struct udp_pcb * pcb;
pcb = udp_new();
if (pcb == NULL)
return -1;
// Bind to any IP on port 60,000.
if (udp_bind(pcb, IP_ADDR_ANY, 60000) != ERR_OK)
return -2;
// On datagram receipt, call udp_packet_recv.
udp_recv(pcb, udp_packet_recv, NULL);
}
void udp_packet_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p, struct ip_addr *addr, u16_t port){
if (p != NULL){
// TODO: Case handling GET packet.
// TODO: Case handling data receipt.
pbuf_free(p); // Free pbuf when finished.
}
}
Every time I try to compile this, I get the following errors:
C:\Users\ZACHAR~1\AppData\Local\Temp\cc1kZ7BP.o:client.c:(.text+0xf): undefined reference to `udp_new()'
C:\Users\ZACHAR~1\AppData\Local\Temp\cc1kZ7BP.o:client.c:(.text+0x3d): undefined reference to `udp_bind(udp_pcb*, ip_addr*, unsigned short)'
C:\Users\ZACHAR~1\AppData\Local\Temp\cc1kZ7BP.o:client.c:(.text+0x5d): undefined reference to `udp_packet_recv(void*, udp_pcb*, pbuf*, ip_addr*, unsigned short)'
C:\Users\ZACHAR~1\AppData\Local\Temp\cc1kZ7BP.o:client.c:(.text+0x69): undefined reference to `udp_recv(udp_pcb*, void (*)(void*, udp_pcb*, pbuf*, ip_addr*, unsigned short), void*)'
C:\Users\ZACHAR~1\AppData\Local\Temp\cc1kZ7BP.o:client.c:(.text+0x8e): undefined reference to `pbuf_free(pbuf*)'
collect2: ld returned 1 exit status
I read something online about linking "lwip4", but have not been able to find anything about that file elsewhere. (I can't even figure out where I originally read that...) I'm using "lwip-win32-msvc-0.1", which is based on the CVS version of lwIP from 23-01-2002. The computer I am attempting to compile on is a Sony VPCF126FM, with no hardware modifications of any kind. I'm using MiniGW command line " g++ client.c -o client.exe" to compile. (Nothing fancy.) Can anybody help me out here? This has become a real sticking point.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I managed to find "lwip4.dsp" and "lwip4.dsw" in the "lwip-win32-msvc-0.1\proj\msvc6" directory. I'm not sure these are the right files though, and attempting to link them with the following commands has not worked.
-llwip4.dsp
-llwip4.dsw
-l lwip4.dsp
-l lwip4.dsw
-llwip4
-l lwip4
I keep getting some variation of "ld.exe: cannot find -llwip4".

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page