Особенно в Visual Studio ваша статическая библиотека ни в коем случае не вызовет проблем. Даже если вы можете добавить WinMain
(или консоль main
) в статическую библиотеку, ваш единственный шанс использовать ее во втором проекте - это явно указать Linker-System-Subsystem
для соответствующего типа.
В этом случае, если вы соответствуете подпрограмме (WinMain
для подсистемы Windows и main
для консоли), вы можете скомпилировать второй проект без определения в нем подпрограммы main
, и main
будет связан из вашей библиотеки.
Тем не менее, в этой ситуации, если вы объявите, что main
и ТАКЖЕ связывают вашу библиотеку, ваш локальный main
будет иметь приоритет и будет вызываться, так что main
в библиотеке будут игнорироваться.
Таким образом, на самом деле для вас нет никакой разницы, если вы экспортируете свою функцию в библиотеку или нет, вы можете оставить ее, и она не будет использоваться, если вы не сделаете то, на что я указывал ранее.