Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6014597
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T02:42:54+00:00 2026-05-23T02:42:54+00:00

i am trying to experiment with a fixed point math library i found on

  • 0

i am trying to experiment with a fixed point math library i found on wikipedia and downloaded it from google code.
I tried to compile a simple example project by adding the following main.c file to their source and recompiling the whole thing as an executable.

The problem
gcc (am actually using codeblocks v1.0) complains about undefined references to functions that i really think the library defines. Some functions work others generate ‘undefined reference errors’ eg,
here is my main.c file i tried to add to source files.

#include<stdio.h>
#include "fixmath.h"
int main()
{
    float num1=6.25f;
    float num2=2.567f;

    fix16_t numfix1=fix16_from_float(num1);
    fix16_t numfix2=fix16_from_float(num2);

    //try out arithmetic on the fixed numbers

    fix16_t simpleAdd= fix16_add(numfix1, numfix2);//(this works !!)no error 

    fix16_t product= fix16_smul(numfix1,numfix2);//undefined reference to 'fix16_smul'
    fix16_t quotient=fix16_sdiv(numfix1,numfix2);//undefined reference to 'fix16_sdiv'
    fix16_t sum=fix16_sadd(numfix1,numfix2);//undefined reference to 'fix16_sadd'
    fix16_t difference=fix16_ssub(numfix1,numfix2);//undefined reference to ....

    //print out the results
    printf("the product of %f * %f =%f \n",num1,num2,fix16_to_float(product));
    printf("the quotient of %f and %f =%f \n",num1,num2,fix16_to_float(quotient));
    printf("the sum of %f + %f =%f \n",num1,num2,fix16_to_float(sum));
    printf("the difference of %f - %f =%f \n",num1,num2,fix16_to_float(difference));

    //system("pause")
    printf("please press any key to continue ...\n");
    getchar();

}

EDIT3:
//show both makefile and build log

//build log
Project   : libfixmath
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\libfixmath\
--------------------------------------------------------------------------------
Switching to target: dbg
Linking console executable: fixmathexample.exe
obj\dbg\main.o: In function `main':
C:/libfixmath/main.c:14: undefined reference to `fix16_smul'
C:/libfixmath/main.c:15: undefined reference to `fix16_sdiv'
C:/libfixmath/main.c:16: undefined reference to `fix16_sadd'
obj\dbg\main.o: In function `fix16_ssub':
C:/libfixmath/fix16.h:51: undefined reference to `fix16_sadd'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warnings

//the exported make file

###############################################################################
# Makefile automatically generated by Code::Blocks IDE                        #
###############################################################################

# Project:          libfixmath
# Project filename: C:\libfixmath\libfixmath.cbp
# Compiler used:    GNU GCC Compiler

### Variables used in this Makefile
dbg_CC=mingw32-gcc.exe
dbg_CPP=mingw32-g++.exe
dbg_LD=mingw32-g++.exe
dbg_LIB=ar.exe
dbg_RESCOMP=windres.exe
rel_CC=mingw32-gcc.exe
rel_CPP=mingw32-g++.exe
rel_LD=mingw32-g++.exe
rel_LIB=ar.exe
rel_RESCOMP=windres.exe

### Compiler/linker options
dbg_GLOBAL_CFLAGS=
dbg_PROJECT_CFLAGS= -DFIXMATH_NO_CACHE -DFIXMATH_NO_64BIT
dbg_GLOBAL_LDFLAGS=
dbg_PROJECT_LDFLAGS=
dbg_GLOBAL_INCS= -IC:/Program\ Files/CodeBlocks/include
dbg_PROJECT_INCS=
dbg_GLOBAL_LIBDIRS= -LC:/Program\ Files/CodeBlocks/lib
dbg_PROJECT_LIBDIRS= -LC:/libfixmath/lib
dbg_GLOBAL_LIBS=
dbg_PROJECT_LIBS= C:\libfixmath\lib\libfixmath.a
rel_GLOBAL_CFLAGS=
rel_PROJECT_CFLAGS= -DFIXMATH_NO_CACHE -DFIXMATH_NO_64BIT
rel_GLOBAL_LDFLAGS=
rel_PROJECT_LDFLAGS=
rel_GLOBAL_INCS= -IC:/Program\ Files/CodeBlocks/include
rel_PROJECT_INCS=
rel_GLOBAL_LIBDIRS= -LC:/Program\ Files/CodeBlocks/lib
rel_PROJECT_LIBDIRS= -LC:/libfixmath/lib
rel_GLOBAL_LIBS=
rel_PROJECT_LIBS= C:\libfixmath\lib\libfixmath.a

### Targets compiler flags
dbg_CFLAGS= $(dbg_PROJECT_CFLAGS) -Wall -g $(dbg_GLOBAL_CFLAGS)
rel_CFLAGS= $(rel_PROJECT_CFLAGS) -fexpensive-optimizations -O3 -Wall -fomit-frame-pointer $(rel_GLOBAL_CFLAGS)

### Targets linker flags
dbg_LDFLAGS= $(dbg_PROJECT_LDFLAGS) $(dbg_GLOBAL_LDFLAGS)
rel_LDFLAGS= $(rel_PROJECT_LDFLAGS) -s $(rel_GLOBAL_LDFLAGS)

### Targets include directories
dbg_INCS= $(dbg_PROJECT_INCS) $(dbg_GLOBAL_INCS)
rel_INCS= $(rel_PROJECT_INCS) $(rel_GLOBAL_INCS)

### Targets library directories
dbg_LIBDIRS= $(dbg_PROJECT_LIBDIRS) $(dbg_GLOBAL_LIBDIRS)
rel_LIBDIRS= $(rel_PROJECT_LIBDIRS) $(rel_GLOBAL_LIBDIRS)

### Targets libraries
dbg_LIBS= $(dbg_PROJECT_LIBS) $(dbg_GLOBAL_LIBS)
rel_LIBS= $(rel_PROJECT_LIBS) $(rel_GLOBAL_LIBS)

###############################################################################
#         You shouldn't need to modify anything beyond this point             #
###############################################################################

### Resources used in this Makefile
dbg_RESOURCE=

### Objects used in this Makefile
dbg_OBJS=obj/dbg/main.o 
dbg_LINKOBJS=$(dbg_OBJS)
dbg_DEPS=.deps/main.d 
rel_OBJS=obj/rel/main.o 
rel_LINKOBJS=$(rel_OBJS)
rel_DEPS=.deps/main.d 

### The targets of this project
dbg_BIN=fixmathexample.exe
rel_BIN=fixmathexample

.PHONY: all all-before all-custom all-after clean clean-custom distclean distclean-custom depend_dbg dbg-before dbg-after depend_rel rel-before rel-after 

all: all-before dbg rel all-after


dist:
    @zip libfixmath.cbp.zip libfixmath.cbp Makefile Makefile fix16.c fix16.h fix16_exp.c fix16_sqrt.c fix16_trig.c fixmath.h fract32.c fract32.h int64.h main.c uint32.c uint32.h 

clean_dbg:
    @echo Cleaning target "dbg"...
    @$(RM) $(dbg_BIN) $(dbg_OBJS) $(dbg_RESOURCE) 

distclean_dbg:
    @echo Dist-cleaning target "dbg"...
    @$(RM) $(dbg_BIN) $(dbg_OBJS) $(dbg_DEPS) $(dbg_RESOURCE) 

clean_rel:
    @echo Cleaning target "rel"...
    @$(RM) $(rel_BIN) $(rel_OBJS) $(rel_RESOURCE) 

distclean_rel:
    @echo Dist-cleaning target "rel"...
    @$(RM) $(rel_BIN) $(rel_OBJS) $(rel_DEPS) $(rel_RESOURCE) 

clean: clean_dbg clean_rel 

distclean: distclean_dbg distclean_rel 

depend_dbg_DIRS:
    -@if not exist ".deps\." mkdir ".deps"

depend_dbg: depend_dbg_DIRS $(dbg_DEPS)

depend_rel_DIRS:
    -@if not exist ".deps\." mkdir ".deps"

depend_rel: depend_rel_DIRS $(rel_DEPS)

depend: depend_dbg depend_rel

dbg_DIRS:
    -@if not exist "obj\." mkdir "obj"
    -@if not exist "obj\dbg\." mkdir "obj\dbg"

dbg: depend_dbg dbg_DIRS dbg-before $(dbg_BIN) dbg-after

$(dbg_BIN): $(dbg_LINKOBJS) $(dbg_RESOURCE)
    @echo Linking executable "fixmathexample.exe"...
    @$(dbg_LD) $(dbg_LIBDIRS) -o $(dbg_BIN) $(dbg_LINKOBJS) $(dbg_RESOURCE) $(dbg_LDFLAGS) $(dbg_LIBS)

rel_DIRS:
    -@if not exist "obj\." mkdir "obj"
    -@if not exist "obj\rel\." mkdir "obj\rel"

rel: depend_rel rel_DIRS rel-before $(rel_BIN) rel-after

$(rel_BIN): $(rel_LINKOBJS) $(rel_RESOURCE)
    @echo Linking executable "fixmathexample"...
    @$(rel_LD) $(rel_LIBDIRS) -o $(rel_BIN) $(rel_LINKOBJS) $(rel_RESOURCE) $(rel_LDFLAGS) $(rel_LIBS)


.deps/main.d: main.c
    @echo Calculating dependencies for "main.c"...
    @$(dbg_CC) -MM $(dbg_CFLAGS) -MF .deps/main.d -MT obj/dbg/main.o,obj/rel/main.o $(dbg_INCS) main.c

obj/dbg/main.o: .deps/main.d
    @echo Compiling "main.c"...
    @$(dbg_CC) $(dbg_CFLAGS) $(dbg_INCS) -c main.c -o obj/dbg/main.o


obj/rel/main.o: main.c
    @echo Compiling "main.c"...
    @$(rel_CC) $(rel_CFLAGS) $(rel_INCS) -c main.c -o obj/rel/main.o
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T02:42:55+00:00Added an answer on May 23, 2026 at 2:42 am

    Are you sure you have linked to the library? Possibly the ones that work are inline functions defined in header files therefore you have their definitions, and the definitions of others are in the .lib file which you need to link against.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to experiment with xampp. After having some space issues, I wanted to
Trying to find some simple SQL Server PIVOT examples. Most of the examples that
I am trying to composite a background bitmap from multiple smaller bitmaps. I am
I'm trying to experiment with SVG on Firefox. Since I'm using jQuery, I'd like
I'm trying to experiment with Microsoft.Web.Administration on my Windows 7 x64 box, using Visual
I was trying out an experiment with Python, trying to find out how many
I am trying to create my first widget. To make a experiment I am
I'm doing a bit of an experiment with PHP + Image manipulation. I'm trying
In my spare time am trying to learn javascript & jQuery. I generally experiment
Trying to setup an SSH server on Windows Server 2003. What are some good

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.