Undefined references when using as shared library
- Dominant language
- C
- Stars
- 709
- Forks
- 139
- PR merge metrics
- No merged PRs in 30d
Description
Hey there,
I'm trying to use peg-markdown as a shared library built by this Makefile:
```
CC=clang
CFLAGS=-c -g -Wall
all: clog
$(CC) obj/main.o -Llibs/peg-markdown -lpeg-markdown -o clog
clog: src/main.c peg-markdown
$(CC) $(CFLAGS) src/main.c `pkg-config --cflags glib-2.0` -o obj/main.o
peg-markdown:
make CC="gcc -fPIC" -C libs/peg-markdown/ library
```
The generation of the .so seems to work fine but when I try to compile my main program, clang just tells me it does not know how to deal with the gstring stuff:
```
clang obj/main.o -Llibs/peg-markdown -lpeg-markdown -o clog
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_string_new'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_slist_free'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_slist_reverse'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_string_free'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_slist_prepend'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_string_append_printf'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_string_append'
libs/peg-markdown/libpeg-markdown.so: error: undefined reference to 'g_string_insert_c'
```
I tried using clang 3.3 and gcc 4.8.1
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.