What am I overlooking with my library?
The output issue:
Code:
make --no-print-directory CLONED_DIR=.. rebuild
cd ../ && make rebuild
make -f run.mak rebuild
git -C ../mak pull
Already up to date.
rm -f ./bin/*.exe
rm -f ./lib/*.dll
rm -f ./src/*.obj
rm -f ./bin/*.out
rm -f ./lib/*.so
rm -f ./src/*.o
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/app.c.o -c src/app.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/apps.c.o -c src/apps.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/lib.c.o -c src/lib.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/libs.c.o -c src/libs.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/maps.c.o -c src/maps.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/paw.c.o -c src/paw.c
gcc -I ./include -L ./lib -D PAW_EXPORT -o src/shared.c.o -c src/shared.c
gcc -I ./include -L ./lib -o ./lib/libpaw.so src/app.c.o src/apps.c.o src/lib.c.o src/libs.c.o src/maps.c.o src/paw.c.o src/shared.c.o -ldl
gcc -I ./include -L ./lib -o chkpaw.out ./src/chkpaw.c -lpaw -ldl
/usr/bin/ld: /tmp/ccmy0FBq.o: in function `test':
chkpaw.c:(.text+0x21): undefined reference to `paw_load_app'
/usr/bin/ld: chkpaw.c:(.text+0x5d): undefined reference to `paw_unload_app'
collect2: error: ld returned 1 exit status
make[2]: *** [run.mak:38: chkpaw.out] Error 1
make[1]: *** [GNUmakefile:9: rebuild] Error 2
make: *** [makefile:4: rebuild] Error 2
Compilation failed.
The relevant source code:
Code:
#ifdef _MSC_VER
# define PAW__EXPORT __declspec(dllexport)
# define PAW__IMPORT __declspec(dllimport)
# define PAW_HIDDEN
#elif defined( __GNUC__ ) && __GNUC__ > 4
# define PAW__EXPORT __attribute__((visibility("default")))
# define PAW__IMPORT
# define PAW_HIDDEN __attribute__((visibility("hidden")))
#else
# define PAW__EXPORT
# define PAW__IMPORT
# define PAW_HIDDEN
#endif
#ifdef PAW_EXPORT
# define PAW_PUBLIC PAW__EXPORT
#elif defined( PAW_STATIC )
# define PAW_PUBLIC
#else
# define PAW_PUBLIC PAW__IMPORT
#endif