top | item 47009507

(no title)

skobes | 17 days ago

Why is the whole implementation in header files?

discuss

order

csmantle|17 days ago

Header-only libs can help avoiding the troubles and complexity of linker setup. This might be even more important on Windows, which this lib "explicitly support".

socalgal2|17 days ago

short answer, because C/C++ sucks. To work around how bad C/C++ sucks people put the entire implementation into one file. That way, there's less question of how you need to integrate it into your project.

In more modern langauges, this is a solved problem and it's easy to use other people code. In C/C++, it's not. As a relavant example, try using FreeType in your C/C++ project, make sure your solution compiles on Linxu, and Mac, and Windows (and ideally other platforms)

thegrim000|17 days ago

>> As a relavant example, try using FreeType in your C/C++ project, make sure your solution compiles on Linxu, and Mac, and Windows (and ideally other platforms)

find_package(Freetype REQUIRED)

target_link_libraries(myproject PRIVATE Freetype::Freetype)

zarzavat|16 days ago

Wait until you find out about boost!