Comments (5)
According to this comment of the Author, this library is meant to be used as the source code itself rather than binaries. 😄
from lodepng.
Understood, but if it is a static library, it is easier for the developer to link to it. Below is a Makefile to compile the library, developers can just link to it with "-static -llodepng" :-)
PREFIX?=/usr
INSTALL?=install
SRC=$(wildcard *.cpp)
SRC:=$(filter-out lodepng_unittest.cpp,$(SRC))
SRC:=$(filter-out lodepng_benchmark.cpp,$(SRC))
OBJS=$(SRC:.cpp=.o)
CXXFLAGS:=-fPIC -Os
TARGET=liblodepng.a liblodepng.so
all: $(TARGET)
echo "Built libraries $(TARGET) successfully."
liblodepng.a: $(OBJS)
$(AR) $(ARFLAGS) $@ $^
liblodepng.so: $(OBJS)
$(CXX) -o $@ -shared $^
install: $(TARGET)
$(INSTALL) lodepng.h lodepng_util.h $(DESTDIR)/$(PREFIX)/include
clean:
rm -f $(OBJS) $(TARGET)
from lodepng.
It could be. @lvandeve may have the right answer for you. I just replied as this reminds me the comment. 😓
from lodepng.
Yes, it is only one source file and one header and is intended to be added directly as source files to your project. The source file also has no dependencies. It can also be renamed to have the .c extension to use as pure C only. There is a second source file lodepng_util but it is only needed for edge cases.
There is no makefile, it opens a whole can of worms and requires a lot of maintenance as platforms and popular make systems change. For this simple project, the actual C source is in fact simpler to be multiplatform than a makefile :)
I would suggest to integrate the source files in the build system you are using, it's only 1 file and one header after all.
from lodepng.
What about adding a LODEPNG_API
macro to give the user the ability of adding __declspec(dllexport)
if needed? (Some other one-file libraries do it that way (eg. dear imgui))
from lodepng.
Related Issues (20)
- sdl2 HOT 6
- vulnerability Discover HOT 2
- what's mean of this define LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS and when should i define it
- code optimization
- Че за хрень 64 бит компиляция HOT 1
- Sudden increase in build size HOT 1
- Memory leaks in function benchmark.
- SEGV on unknown address in function pngdetail. HOT 2
- How to get a JSON string from the encoded image ? HOT 3
- Expected speed? HOT 6
- Fix warnings: `conversion from 'size_t' to 'unsigned short', possible loss of data` HOT 2
- chunk type is restricted to the decimal values 65 to 90 and 97 to 122
- Veracode discovered a race condition
- Consideration for changing the License to public domain
- allocate "reserved_size" extra memory
- Lodepng fails to open valid png image HOT 4
- Clarification on "filter_palette_zero"
- lodepng crashes ntdll.dll
- Encoding from RGB 24 frame buffers handling stride / pitch
- Think the custom_zlib api is incomplete. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lodepng.