Нужно ли избавляться от WinMain, чтобы превратить проект в библиотеку? - PullRequest
0 голосов
/ 27 апреля 2010

скажем, я создал приложение под названием App1 с большим количеством классов в одном проекте. И я решил, что хочу создать другой проект под названием App2, и я хочу использовать те же классы, поэтому я решил превратить App1 в файл lib. Для этого нужно удалить функцию WinMain или я могу ее оставить, и компилятор проигнорирует winMain в файле lib. ??

Ответы [ 2 ]

1 голос
/ 27 апреля 2010

Это просто бессмысленно делать. Выделите классы в своем собственном проекте библиотеки, который создает .lib, пусть оба приложения используют библиотеку.

1 голос
/ 27 апреля 2010

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

В этом случае, если вы соответствуете подпрограмме (WinMain для подсистемы Windows и main для консоли), вы можете скомпилировать второй проект без определения в нем подпрограммы main, и main будет связан из вашей библиотеки.

Тем не менее, в этой ситуации, если вы объявите, что main и ТАКЖЕ связывают вашу библиотеку, ваш локальный main будет иметь приоритет и будет вызываться, так что main в библиотеке будут игнорироваться.

Таким образом, на самом деле для вас нет никакой разницы, если вы экспортируете свою функцию в библиотеку или нет, вы можете оставить ее, и она не будет использоваться, если вы не сделаете то, на что я указывал ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...