jgm / jgm/peg-markdown

Undefined references when using as shared library

Open
#29 3 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.