Чтобы получить статическое связывание, обычным способом является не использование DLL, а простые библиотеки (* .lib). Это не имеет ничего общего с языками программирования: это зависит только от операционной системы.
Сборка библиотеки также проще, чем сборка DLL. В Unix у библиотеки есть суффикс .a, тогда как у библиотеки DLL есть суффикс .so (для общего объекта).
Тем не менее, часто можно статически связать DLL, но это достигается с помощью конкретной опции, передаваемой компоновщику. Например, в Unix, со многими наборами компиляторов, опция может быть -static или -Bstatic. Посмотрите на ключевое слово "static" в руководстве по программированию ваших компиляторов.