Я думаю, что вам нужно попытаться понять новый набор инструментов, а не просто попытаться использовать его в своем нынешнем понимании существующих инструментов. Для этого лучшим способом, IMHO, является попытка начать использовать Visual Studio в соответствии с намерениями Microsoft, а затем, когда вы сможете создать простой проект в IDE, вы можете перейти к его созданию с использованием предпочитаемой системы make, но сделайте это с помощью понимание того, как IDE использует свою систему make для настройки объектов для этой сборки (которая будет работать).
Так, например, для первой части вашего вопроса вы хотите создать простой проект статической библиотеки и простой проект dll и посмотреть вкладки параметров компоновщика. Перейдите к представлению «Командная строка», и вы увидите, что DLL использует параметр компоновщика / OUT, чтобы задать имя и местоположение файла dll, и параметр компоновщика / LIB, чтобы задать имя и местоположение библиотеки импорта. В статической библиотеке используется только параметр / OUT, который указывает имя статической библиотеки. Это правда, что если вы собираете статическую библиотеку и библиотеку DLL из одного и того же источника, и для обеих библиотек / LIB для dll установлено значение MyCrossPlatformCode.lib, а для параметра / OUT - MyCrossPlatformCode.dll, у вас могут возникнуть проблемы, если вы также собираете статическая библиотека с переключателем / OUT MyCrossPlatformCode.lib ... просто не делайте этого; либо создайте статические библиотеки в другой выходной каталог (что и делает OpenSSL), или, что лучше (IMHO), несколько искажите имена, чтобы у вас были MyCrossPlatformCode.lib / .dll и MyCrossPlatformCode_static.lib (что делает STLPort) .
Обратите внимание, что вы также можете изменить (или учитывать) сборку с различными версиями цепочки инструментов Microsoft (так что, возможно, вы получите stlport_vc8_x64d_static.5.1
, возможно).
Альтернативный подход, если вы действительно не можете подумать о понимании своего набора инструментов, состоит в том, что вы могли бы взглянуть на некоторые из популярных систем с открытым исходным кодом, которые прекрасно работают на системах Windows и Unix; OpenSSL и STLPort для начала, пожалуй.