$ scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons: *** Source file: sdk/build/debug-beta/game/idlib/bv/Box.os is static and is not compatible with shared target: libBB.so scons: building terminated because of errors. ##### Begin SConstruct ###### import os env = Environment() env.Append( #CXX="-4.1.2", #CPPFLAGS=Split('-m32 -march=i686 -fvisibility=hidden -fno-strict-aliasing -fmessage-length=0 -fpermissive -DSD_SDK_BUILD -DSD_DEMO_BUILD -D_DEBUG -ggdb3'), #CPPFLAGS=Split('-c -fpermissive -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -pipe -Wall -fmessage-length=0 -m32 -DXTHREADS -DSD_SDK_BUILD -D_DEBUG -Isdk/game -O1 -march=pentium3 -Winline -ffast-math -fno-unsafe-math-optimizations -fno-strict-aliasing -DGAME_DLL'), CPPFLAGS=Split('-fpermissive -fvisibility=hidden -fvisibility-inlines-hidden -pipe -Wall -fmessage-length=0 -m32 -DSD_SDK_BUILD -Isdk/game -g -O1 -D_DEBUG -DXTHREADS -DSD_DEMO_BUILD'), LIBS=Split('elf dl SDL'), ) sources = Split('main.cpp BBLog.cpp BBHook.cpp') objs = [] for obj in os.popen("find sdk/build/debug-beta/game/idlib -iname \"*.os\" -print").read().strip().split("\n"): objs.append(obj); all = sources + objs env.SharedLibrary('BB', all) #c = [] #for a in os.popen("ar t libBB.a").read().strip().split("\n"): # c.append(a) #os.popen("g++ -o libBB.so -shared -lelf -ldl -lSDL main.o BBLog.o BBHook.o %s"%objs)